Free tool

Barcode scanner and checker

Will it scan? Will it expire? Point your camera at a barcode or QR code, or choose a photo. The checker reads it on your device, checks the numbers and tells you what the code really contains, including which domain a QR link opens.

  • Free to use
  • No sign-up
  • No watermark
  • Personal and commercial use
  • Runs in your browser

Barcode checker

Free · nothing is uploaded

Choose a photo of a barcode or QR code, drop one here, or paste a screenshot.

It is read on this device. Nothing is uploaded.

  • Free to use
  • No sign-up
  • No watermark
  • Personal and commercial use
  • Runs in your browser

What it checks

  • Type and content. UPC-A, UPC-E, EAN-13, EAN-8, ISBN, ITF-14, GS1-128, Code 128, Code 39, Codabar, QR Code, Data Matrix, GS1 DataMatrix, PDF417 and other common types, with the text they hold (GS1 data is shown as each AI in parentheses followed by its value).
  • Check digits. The GS1 modulo 10 check digit of every GTIN and SSCC, recalculated and shown. A UPC or EAN printed with a wrong check digit cannot be decoded at all, so it shows as “No barcode found”; check the number in the check digit calculator.
  • GS1 Prefix. Which GS1 Member Organisation the number’s prefix belongs to, or which special range (restricted circulation, coupons, books), from GS1’s published list. For a GTIN-8 it names only the special ranges.
  • GS1 data. In GS1-128, GS1 DataMatrix and GS1 Digital Link codes: each Application Identifier, dates written out (with GS1’s rule that day 00 means the end of the month) and whether an expiration or best before date has passed.
  • Links. The domain a QR code opens, whether it uses https, whether it follows the GS1 Digital Link syntax, and whether it goes through one of the redirect services listed below.
  • Ambiguous readings. A Code 39 that reads differently with Full ASCII on and off is shown both ways; Codabar start and stop letters are pointed out.

Will it expire?

A QR code is printed data, so the code itself never expires. A link inside it keeps working only as long as whoever controls that address keeps it working. Many “dynamic” QR services print their own short address and forward visitors from there, which lets you change the destination later, but ties the printed code to their service. The checker names the services below when it sees their domains, because each one documents on its own pages what happens to such codes:

ServiceDomainsWhat its own pages say
QR Code Generator (QRCG by Bitly)qrco.de, l.ead.meIts help center says Dynamic QR Codes made during the 14-day free trial are deactivated when the trial ends, and a scan then opens a service page instead of the original destination. Source
QR TIGERqr1.beIts FAQ says dynamic QR codes scan without limit while the subscription is valid, and stop working if the plan expires. Source
Hovercodescango.to, hov.to, scanqr.toIts help center says that after a subscription is cancelled the account moves to the free plan: the first 3 dynamic codes stay active, the rest become inactive, and codes on a custom domain stop working. Source
Uniqodeqrcodes.pro, qr.tapnscan.me, linkpages.proIts help center says dynamic QR Codes are deactivated after the trial period expires, unlike static QR Codes. Source
Bitlybit.lyBitly says its QR Codes never expire, but a code stops working if the code or its short link is deleted, and redirecting the short link changes where the code goes. Source

The list includes only services that document both their domains and this behavior on their own pages, read on October 27, 2026. A code that is not on it can still be a redirect: if the domain is not yours or the product’s brand, ask who controls it. Codes you make with this site’s QR code generator hold your link directly; do QR codes expire? explains the difference.

What the GS1 Prefix tells you

The first digits of a GTIN show which GS1 office allocated it, or that it belongs to a special range. GS1’s own prefix list says plainly that, since companies can make products anywhere, GS1 Prefixes do not identify the country of origin. Some ranges have special meanings:

  • 020–029, 040–049 and 200–299: restricted circulation numbers, used inside one company or region and not valid outside it. For GTIN-8, prefixes starting with 0 or 2 are for use inside one company.
  • 977: serial publications (ISSN). 978–979: books (ISBN).
  • 980: refund receipts. 981–983 and 99: coupons.
  • 952: used for GS1’s demonstrations and examples.

A 12-digit UPC is read with an implied leading zero, so GS1’s example UPC 614141234561 has the prefix 061, which belongs to GS1 US. To see which company a GTIN is licensed to, look it up in Verified by GS1.

Will it scan?

If the checker reads a code, the symbol is complete and decodable in that picture. That is useful, but it is not a print-quality grade: phone cameras and this decoder may read codes that a checkout or warehouse scanner rejects, and a formal grade needs a verifier measuring the printed label. See barcode verification grades and, if a code will not read, the barcode not scanning checklist.

Getting a good read

  • Fill most of the frame with the code, and hold the phone parallel to the label.
  • Avoid glare from glossy film or a screen; tilt slightly if a reflection covers the bars.
  • Make sure the picture is sharp; tap to focus or move a little farther away.
  • Photos in HEIC format may need converting to JPEG first. Screenshots and photos of screens work, if they are sharp.

Worked example

  1. Photograph the barcode on a product, or a UPC you made in the UPC-A generator, and choose the photo.
  2. For GS1’s example 614141123452 the checker reports a UPC-A with GTIN-12 614141123452, confirms the check digit 2, names GS1 Prefix 061 and GS1 US, and links to Verified by GS1.
  3. Now try a QR code from a flyer. If it opens a domain such as qr1.be, the checker explains that the code depends on that service, and summarises what the service’s own pages say about expired plans.

Privacy

The decoder, ZXing compiled to WebAssembly, is served from this site and runs in your browser. Photos and camera frames stay on your device: nothing is uploaded, stored or sent anywhere. The camera starts only when you press “Use the camera” and your browser asks your permission; it stops after a read, when you stop it or when you leave the page.

The decoder is the open-source ZXing-C++ library, built for browsers by the zxing-wasm project, and used under the Apache License 2.0 (zxing-wasm’s own code under the MIT License; see the open-source notices).

Sources

  1. GS1: GS1 Company Prefix (list of GS1 Prefixes) (accessed )
  2. GS1: GS1 General Specifications Standard (Release 26.0) (accessed )
  3. GS1: GS1 Digital Link Standard: URI Syntax (release 1.7.0) (accessed )
  4. GS1: Verified by GS1 (accessed )
  5. Zebra Technologies: DS2208 Digital Scanner Product Reference Guide (MN-002874-14EN Rev. A) (accessed )
  6. QR Code Generator (QRCG by Bitly): I received a message saying that my QR Codes will be deactivated. What does that mean? (accessed )
  7. QR Code Generator (QRCG by Bitly): What is the difference between Dynamic and Static Codes? (accessed )
  8. QR TIGER: Frequently Asked Questions (FAQs) (accessed )
  9. Hovercode: What happens to my QR codes if I cancel my subscription? (accessed )
  10. Hovercode: Custom domains for more reliable dynamic QR codes (accessed )
  11. Hovercode: Dynamic QR codes with custom domains (accessed )
  12. Uniqode: How do I reactivate my QR Codes? (accessed )
  13. Uniqode: Why does Uniqode recommend its customers use custom domains? (accessed )
  14. Bitly: Do Bitly Codes ever expire? (accessed )
  15. Bitly: How do I change my default domain for creating links? (accessed )

More tools for labels and numbers