Read EAN, UPC, Code 128, ISBN — and QR codes too. Drop an image, paste a screenshot, or use your camera. Decoded on your device.
Decoding runs entirely in your browser (ZXing, self-hosted). Images and camera frames never leave your device.
Copy takes the decoded value, and a web link from a QR code also gets Open. EAN-13, EAN-8, UPC-A and ISBN results say whether the check digit is valid. Re-create styled loads a barcode into the barcode generator, or a QR code into the QR generator.
The scanner reads retail and logistics symbologies (EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ITF and Codabar, with ISBNs recognised inside EAN-13) from photos, screenshots or a live camera. Frames are decoded in your browser; the camera loop samples around twelve frames per second, enough to catch a steady barcode without draining a battery.
Every numeric barcode is verified against its check digit after decoding, so a misread that produces a plausible-looking but wrong number is caught rather than silently accepted. QR codes in the frame are read too, since the underlying decoder recognises both families.
As with every tool on this site, nothing leaves your device: no image, no frame, no decoded result is sent anywhere.
The scanner shows the number and nothing else: it does not look products up, because that would mean sending the number to a database somewhere. What the number itself does tell you is below.
EAN-13, EAN-8 and UPC-A numbers end in a check digit calculated from all the others, so a single wrong digit is detectable. The decoder checks it while reading, which is why a code printed from a mistyped number usually does not scan at all. The scanner then recalculates it and shows check digit OK next to the number, so you can see the check was made.
A common belief is that the first two or three digits say where a product was made. They do not. They name the GS1 member organisation that issued the company's number, and GS1 states plainly that its prefixes do not identify the country of origin. A company based in one country can make its goods in another, and a code starting 50 can be on a product made anywhere.
A few prefixes do carry a meaning of their own:
| Number starts with | Meaning (GS1) |
|---|---|
| 978 or 979 | A book: the EAN-13 form of an ISBN. The scanner labels these ISBN (book). |
| 977 | A serial publication, such as a magazine (ISSN) |
| 020 to 029 | Restricted circulation numbers, whose use each local GS1 organisation defines for its own region. They are not unique worldwide. |
These formats hold whatever the business chose to put in them: an order number, a stock location, a shipment reference, a library card. The scanner shows the text exactly as encoded; there is no registry behind it to look up.
To make labels of your own, the barcode generator does one at a time and bulk barcodes does a whole product list. EAN-13 vs UPC-A vs Code 128 explains which one you need.
Source: GS1, Company Prefix.
EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ITF and Codabar — and QR codes as well, so any code lands on the right result.
No. Decoding runs entirely in your browser using the open-source ZXing library, self-hosted on this site. Images and camera frames never leave your device.
Yes. For EAN-13, EAN-8, UPC-A and ISBN results the check digit is re-computed and confirmed, so you know a printed code is internally valid.
Yes — one click loads the scanned number into the barcode generator with the right type pre-selected, ready to restyle and download as PNG or SVG.
Yes. Drop in many images at once, or a whole folder, and every code is decoded and listed in a table you can export as CSV. One photo containing several codes works too — each one is found separately. Everything still runs in your browser; no image is uploaded.
Usually, within reason. The decoder tolerates moderate tilt and perspective, but heavy blur is the real killer — bars smear into each other. Hold the camera square-on at ten to twenty centimetres, or retake the photo in better light rather than zooming into a blurry one.