← all repositories
card-io/card.io-Android-SDK

Credit card OCR that actually ships

An Android SDK that turns a camera into a card reader without sending images to a server.

2k stars Java Computer Vision
card.io-Android-SDK
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does

Drop the SDK into your Android app and launch CardIOActivity. It reads credit card numbers, expiry dates, CVV, and postal codes from the camera feed, then hands the parsed data back via onActivityResult. No app token or signup required anymore; just a Gradle dependency and an Intent.

The interesting bit

The heavy lifting happens on-device. The README explicitly warns that image processing is memory-intensive and recommends SSL pinning for the network hop you do make—suggesting the authors have thought through the threat model of handling raw card data.

Key highlights

  • Supports armeabi-v7a, arm64-v8a, x86, and x86_64; falls back to manual entry on unsupported devices
  • Requires only API 16+ and a rear-facing camera
  • ProGuard config ships automatically inside the AAR for Gradle users
  • Returns redacted card numbers by default; raw numbers available but flagged with “never log” warnings
  • Semantic versioning with releases published to Maven Central

Caveats

  • The README version (5.5.1) and sample code version (5.5.0) don’t match—minor, but sloppy
  • No mention of whether the OCR model handles embossed vs. flat-printed cards differently
  • Project appears dormant: Travis CI badge likely stale, no recent commit activity visible in the sources

Verdict

Worth a look if you’re building a payment flow and want to reduce manual entry friction without routing sensitive images through a third-party API. Skip it if you need modern Android support (API 30+ behavior changes aren’t addressed) or if your users primarily enter cards in low-light environments where OCR struggles.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.