Barcode Info app icon Barcode Info

What a barcode actually says

Point the camera at any code and see what it encodes: which symbology it is, whether the product number's check digit is valid, and the country the barcode was registered in. Every answer is computed on the phone — there is no server to ask.

Free · iPhone, iPad & Android · no ads, no in-app purchases

Rated 4+ · “Data Not Collected” on the App Store · the Android release build holds no internet permission at all

EAN-13 UPC-A UPC-E EAN-8 ITF Code 128 QR DataMatrix

How we built a scanner that never phones home →

Barcode Info history on iPhone: scanned codes with symbology, country of registration and time An EAN-13 result: valid check digit and the barcode registered in Germany A QR code result classified as a link, with no origin information claimed
What's inside

A scanner that explains itself

Most scanners hand you the digits and stop. This one tells you what kind of code it was, whether the number is even well-formed, and what — honestly — it does and doesn't reveal.

🔢

Which code it is

Thirteen symbologies, named properly: EAN-13, EAN-8, UPC-A, UPC-E, ITF, Code 128, Code 39, Code 93, Codabar, QR, DataMatrix, Aztec and PDF417.

Whether the number checks out

Product numbers carry a check digit. The app recomputes it for GTIN-8, GTIN-12, GTIN-13 and GTIN-14 — expanding UPC-E to UPC-A first — and says plainly whether it is valid.

🌎

Where it was registered

The GS1 prefix names the organization that issued the company prefix. So the app says “registered in”, never “made in”, and explains the difference right under the flag.

🔗

What a QR code holds

Free-form codes are classified before you act on them: a link, a Wi-Fi network, a contact, an email, a phone number, an SMS, a location, a calendar event or plain text.

📸

A photo of every scan

Each scan keeps the camera frame it was read from, uncropped, so a row of digits in the history stays recognisable as the thing you were holding. Photos live on the device and are deleted with the scan — or on their own.

📶

Offline by construction

No backend, no accounts, no analytics. Recognition runs from a model bundled inside the app, which is why it works in a shop basement — and why the Android release build ships with no internet permission at all.

On your devices

iPhone, iPad & Android

One Flutter codebase, each platform's own scanning engine underneath: ML Kit on Android, Vision on iOS.

Scan history with symbology, country of registration and time for each code
Your scans
EAN-13 result showing a valid check digit and the country of registration
A product code
QR code result classified as a link, stating that it carries no origin information
A QR code
Barcode Info scan history on iPad
iPad

13 symbologies 4 GTIN lengths checked 9 QR content types 500 scans kept on device 0 network calls

Free download · works in a basement aisle with no signal

The country question, answered honestly

Plenty of apps read the first digits of a barcode and announce where a product was made. That claim is wrong, and it is wrong in a way that matters to people who scan for exactly that reason. A GS1 prefix records the organization that issued the manufacturer's company prefix — a company registered in one country routinely makes goods in another, and in-store codes carry no origin at all. So Barcode Info says “registered in”, spells the caveat out on the same screen, and for in-store and restricted-circulation ranges says so instead of showing a flag it cannot justify. Less satisfying than a confident answer; considerably more true.

Scan it, and actually know

Free on the App Store and Google Play. Works with no network, keeps its history on your phone, and collects nothing — no accounts, no ads, no analytics.

What's new

We keep shipping