TopGit
GitHub Repo Review

Catima: Digital Loyalty Card Manager for Android

CatimaLoyalty/Android
CTopGit review image for CatimaLoyalty/Android
Review by Topgit.dev for CatimaLoyalty/Android, with GitHub repository stats and README context.
Quick verdict

Catima is a free Android app that stores your loyalty and membership cards as barcodes on your phone instead of a wallet full of plastic. Reach for it if you're on F-Droid or IzzyOnDroid and want a card wallet with no account, no ads, and no data leaving your device. Skip it if you need automatic card discovery or a companion iOS app, since Catima only covers Android and everything is entered by hand or imported.

Stars
★ 1.6k
Forks
⑂ 252
Language
Java
License
GPL-3.0
Topic
Mobile
Updated
Aug 2026
Homepage
GitHub

About the Catima Loyalty Card Manager

Catima is an open-source Android application built to hold retail loyalty and membership cards on your phone, licensed under GPL-3.0. Rather than carrying a stack of plastic cards or punch cards, you add each one to Catima once and then pull up its barcode at the register. The README credits Loyalty Card Keychain, an app it says is no longer developed, as the project Catima is based on.

Key Features of Catima

  • Reads and generates barcodes in a range of formats — QR_CODE, EAN_13, EAN_8, CODE_128, CODE_39, CODE_93, CODABAR, ITF, DATA_MATRIX, AZTEC, PDF_417, UPC_A, and UPC_E — covering grocery-store loyalty cards as well as ticket-style codes.
  • Imports existing cards from files, Catima backups, FidMe, Loyalty Card Keychain, and Voucher Vault, though FidMe imports need the barcode type set manually for each entry afterward.
  • Ships a build.sh script that produces a reproducible build when run with OpenJDK 21, and can sign the APK itself if you pass a KEYSTORE and KEYSTORE_ALIAS.
  • Distributed through F-Droid and IzzyOnDroid, so it installs without a Play Store account or Google Play Services.
  • Keeps every card on-device under a GPL-3.0 license, with no account sign-up or server sync described in the README.
  • Open to community translation through a Hosted Weblate project page.
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history

Managing Loyalty Cards with Catima

  • Replace a bulging card wallet: add your grocery, pharmacy, and gym loyalty cards once and hand the phone to the cashier instead of digging through a keyring of punch tags.
  • Move off FidMe, Loyalty Card Keychain, or Voucher Vault by importing existing cards straight into Catima, then cleaning up the barcode type on the FidMe imports afterward.
  • Keep tickets or membership passes that use less common barcode formats like PDF_417 or DATA_MATRIX, not just the QR codes most wallet apps assume.
  • Run entirely offline on an F-Droid or IzzyOnDroid install where you don't want a Play Store account or an ad-supported app on your phone.

Building the Catima Android App

Catima can be built two ways. Android Studio works but the README flags it as not reproducible. The repository's own build.sh script is reproducible when run with OpenJDK 21: run ./build.sh for an unsigned build, or set KEYSTORE=/path/to/keystore and KEYSTORE_ALIAS=catima before calling ./build.sh to have the script sign the APK for you. Day-to-day installs are simpler than building from source — Catima is distributed through F-Droid and IzzyOnDroid per its GitHub topics — but if you want to verify the build yourself or need a signed artifact, the shell script is the documented path.

Strengths

  • Cards stay on the device — the README describes no account or server sync, which is exactly what you want in an app holding your membership numbers.
  • Wide barcode coverage: AZTEC, DATA_MATRIX, and PDF_417 are supported alongside the usual QR_CODE and EAN formats, so oddball tickets aren't left out.
  • Migrating away from Loyalty Card Keychain, FidMe, or Voucher Vault is a built-in import, not a manual re-entry of every card.
  • GPL-3.0 licensing and F-Droid/IzzyOnDroid distribution keep it out of the Play Store's tracking and ad ecosystem.
  • The build script signs its own output, so you're not stuck trusting Android Studio's local keystore handling for a reproducible release.

Considerations for Using Catima

  • Android only — the README and repo describe no iOS build, so anyone syncing cards across a phone and an iPhone is out of luck.
  • Building through Android Studio isn't reproducible; only the build.sh path under OpenJDK 21 is, which pushes anyone who cares about verifiable builds toward the command line.
  • Importing from FidMe isn't a clean one-click move — the README says you have to set the barcode type for each card by hand afterward.
  • The README doesn't document a cloud backup or multi-device sync feature, so losing the phone likely means losing the cards unless you handle your own backup.

Apps Similar to Catima

Stocard – a closed-source loyalty wallet with a much larger card database but a cloud account and an ad-supported free tier.FidMe – one of the apps Catima can import from directly, useful if you're already using it and want to move to something open source.Loyalty Card Keychain – the older, no-longer-developed app Catima's README credits as the project it grew out of.Voucher Vault – another closed-source card wallet that Catima can import cards from during a switch.

Catima Frequently Asked Questions

What license does Catima use?

Catima is released under the GPL-3.0 license (GPLv3+), meaning the source stays free and any modified redistribution has to stay open too.

Which barcode formats are supported by Catima?

Catima reads and generates AZTEC, CODABAR, CODE_39, CODE_93, CODE_128, DATA_MATRIX, EAN_8, EAN_13, ITF, PDF_417, QR_CODE, UPC_A, and UPC_E barcodes.

Can I transfer loyalty cards from other apps to Catima?

Catima can import cards and codes from files, Catima backups, FidMe, Loyalty Card Keychain, and Voucher Vault; FidMe imports need their barcode type set by hand afterward.

How can I help translate Catima?

Catima's translations happen on its Hosted Weblate project page, where anyone can submit or improve strings for their language.

How do I build the Catima app from source?

Run ./build.sh in the repository for a reproducible build under OpenJDK 21, or set KEYSTORE and KEYSTORE_ALIAS environment variables first if you also want the script to sign the APK. Android Studio can build Catima too, but the README notes that path isn't reproducible.

The problem it solves

Store loyalty programs assume you're carrying their branded plastic card or punch tag, and closed-source wallet apps solve that by asking for an account and syncing your card list to their servers. Catima skips that trade. No account, no cloud sync — the barcode just sits in local storage under a GPL-3.0 license.

Who should try it — and who should skip

Reach for Catima if you're already on F-Droid or IzzyOnDroid, want your loyalty cards off your phone's cloud accounts, and don't mind entering cards yourself or importing them from FidMe, Loyalty Card Keychain, or Voucher Vault. Skip it if you're on iOS, want an automatically updated database of thousands of store cards, or need multi-device sync without managing your own backup — the README doesn't describe any of those.

Related repositories

Source & attribution

Based on the CatimaLoyalty/Android GitHub repository (github.com/CatimaLoyalty/Android).

GitHub data · last synced Aug 6, 2026Reviewed by Henry
Back to TopGit