gizmobench

Barcode Scanner

Choose a photo, paste a screenshot or start your camera, and this scanner reads Code 128, EAN-13, UPC-A, Data Matrix and QR codes, plus EAN-8, UPC-E, Code 39, ITF, Codabar, DataBar, PDF417 and Aztec. It shows each payload exactly as encoded with its format, outlines the code's four corners on the picture, and for retail codes works out the check digit from the GS1 rule. A link inside a code is shown as text and never opened, the picture is decoded in your browser and never uploaded, and your scans are listed only while the page is open.

imagenothing chosen

corners none yet source none yet camera off until you press Start camera

resultnothing read yet

Nothing read yet. The payload appears here as text, and a link inside a code is never opened.

This session, latest first

No scans yet. They are kept only while this page is open.

Format
none yet
Payload
none yet
Check digit
none yet
This session
0 scans

Choose an image, drop or paste one here, or start the camera. Nothing is uploaded.

Look for
After a camera read
Reader
zxing-wasm 3.1.4, loads on first scan

Try it without a barcode

Each example is drawn in this page and read by the same reader as your photos, so you can see a result before you point the camera at anything.

  • Code 128 exampleABC123
    Code 128, ABC123, byte for byte
  • EAN-13 example4006381333931
    all 13 digits, leading 4 and check digit 1 kept
  • Data Matrix exampleABC123
    Data Matrix, ABC123, a 12 x 12 symbol
  • QR code with a linkhttps://example.com/menu
    the address as text, never opened
  • Damaged codeno readable code
    no result stated, nothing guessed

Formats it reads

FormatUsually found onWhat this page shows
EAN-13, UPC-ARetail products and booksEvery printed digit, with the check digit worked out from the GS1 rule.
EAN-8, UPC-ESmall packsThe printed digits, and a UPC-E expanded to its UPC-A form.
Code 128Shipping labels and asset tagsThe text byte for byte, and GS1 data with its bracketed identifiers.
Code 39, ITF, Codabar, DataBarOlder labels, cartons and fresh foodThe text or digits as encoded.
Data MatrixSmall parts and medicine packsThe text, the symbol size, and GS1 data with its bracketed identifiers.
QR CodeLinks, Wi-Fi details and contact cardsThe text and what it looks like. A link is shown, never opened.
PDF417, AztecBoarding passes and ticketsThe text as encoded.
Accuracy. A decode shows exactly the data the code holds: it identifies what is encoded, not the product, its authenticity, its price or whether it is safe. A damaged or blurry code is reported as not found rather than guessed, and if the camera is unavailable or refused, an image file is read the same way.

Codes are decoded in this tab by ZXing-C++ (Apache License 2.0), compiled to WebAssembly by zxing-wasm 3.1.4 (MIT). The reader file is served from this site at that pinned version, and its SHA-256 is checked against the pinned value before each release. License texts: zxing-wasm MIT license and ZXing-C++ Apache License 2.0.

Common questions

Can I scan a barcode from a picture instead of the camera?
Yes. Choose an image, drop one on the scanner or paste a screenshot. It is read by the same decoder the camera uses, so a photo from your gallery works when the camera is refused, busy or missing.
Does this barcode scanner tell me what the product is or what it costs?
No. It shows the data the barcode holds. For a retail code that is the product number (GTIN) and its check digit. The number is not looked up anywhere, so the page says nothing about the product, its price, whether it is genuine or whether it is safe.
Which barcode types can it read?
Code 128, EAN-13, UPC-A, Data Matrix and QR codes, plus EAN-8, UPC-E, Code 39, ITF, Codabar, DataBar, PDF417 and Aztec. Set Look for to 1D only or 2D only to ignore the other kind.
Will scanning a QR code or barcode open a website?
No. A link inside any code is shown as text, labelled as a web address, and this page never opens it. Copy it only if you trust where the code came from.
Why does it say no barcode found?
The reader returns a code only when it decodes cleanly and passes the code's own checks, so a blurred, cut-off, glare-covered or damaged code is reported as not found instead of guessed. Try a sharper photo taken straight on, with the whole code in the frame and even light.
Is my photo uploaded anywhere?
No. The picture is decoded in your browser and never sent anywhere. The only extra download is the reader itself, whose main file is 0.95 MB and comes from this site at a pinned version, not from a third party.
Can it read several barcodes at once?
Yes. A photo with several codes shows each one outlined, with a button to switch between them, and all of them join the session list. With the camera, choose Keep scanning to read one code after another; a code held in view is recorded once.

A decode shows exactly the data the code holds: it identifies what is encoded, not the product, its authenticity, its price or whether it is safe. A damaged or blurry code is reported as not found rather than guessed, and if the camera is unavailable or refused, an image file is read the same way.