Product boxes, shipping labels, library books and boarding passes all carry barcodes, but few people own a dedicated scanner. Drop in a photo or point your webcam at the code to read its number or text, see which symbology it is, and for retail codes check the GTIN and its check digit. Nothing is uploaded.
Processing locally on your device
Overview
Linear (1D) barcodes encode data in the widths of bars and spaces. EAN-13 is the 13-digit retail code used worldwide, UPC-A its 12-digit North American counterpart, and EAN-8 and UPC-E are compressed versions for small packs. Code 128 packs the full ASCII set densely and dominates shipping labels; Code 39 and Code 93 are alphanumeric formats common in industry and healthcare; ITF (Interleaved 2 of 5) marks outer cartons as ITF-14; and Codabar still appears on library cards and blood bags. The scanner reads all nine, plus the 2D formats QR Code, Data Matrix, PDF417 and Aztec.
Decoding uses the open-source ZXing library in your browser with its “try harder” mode, which scans more rows of the image and is more tolerant of skew. Still images are tried at several sizes, with two different binarizers, inverted and rotated by 90°, so a barcode photographed sideways still reads. In camera mode the tool prefers the rear camera, lets you choose between cameras, and decodes a frame about every 150 ms, ignoring repeats of the same code for a couple of seconds.
Retail barcodes end in a check digit computed with the GS1 modulo-10 rule: weights of 3 and 1 alternate from the right, and the check digit brings the sum up to a multiple of 10. For EAN-13, EAN-8, UPC-A, UPC-E and 14-digit ITF codes the tool shows the GTIN type, the 14-digit GTIN used by GS1 databases, and whether the check digit is valid. UPC-E codes are expanded to their full UPC-A form, and EAN-13 codes with the 978 or 979 Bookland prefix are identified as ISBNs, with the ISBN-10 shown for 978 numbers.
| Format | Type | Data | Typical use |
|---|---|---|---|
| EAN-13 / UPC-A | 1D | 13 / 12 digits | Retail products, ISBN books |
| EAN-8 / UPC-E | 1D | 8 digits | Small packages |
| Code 128 | 1D | Full ASCII | Shipping labels, logistics |
| Code 39 / Code 93 | 1D | Letters, digits, symbols | Industry, ID badges, healthcare |
| ITF | 1D | Digits (pairs) | ITF-14 on outer cartons |
| Codabar | 1D | Digits and a few symbols | Libraries, blood banks, couriers |
| Data Matrix | 2D | Up to about 2,300 characters | Electronics, pharmaceuticals |
| PDF417 / Aztec | 2D | Up to about 1,800 / 3,000 characters | Driving licences, boarding passes, tickets |
Choose Image or Camera.
Image: drop, browse or paste a photo of the barcode. Camera: click Start camera, allow access and pick a camera if you have several.
Fill most of the frame with the barcode, holding 1D codes level and fully in view, with the blank margins at each end.
Read the format name and value. Retail codes also show the GTIN, GTIN-14 and check-digit result.
Copy the value or any GTIN field, and use the History list to review or copy every scan from the session.
Use cases
Scan product barcodes with a laptop webcam, copy the history as tab-separated text and paste it into a spreadsheet. The check-digit result flags any number that was keyed in or printed wrongly.
Decode long Code 128 tracking numbers from a photo of a label instead of retyping them, then copy the value into the carrier’s tracking page.
ISBN barcodes are EAN-13 codes starting with 978 or 979. Scan the back cover and get the ISBN-13, and the ISBN-10 for older 978 numbers, ready to search a library catalog.
Developers and warehouse teams can drop in labels exported from their own software or label printer and confirm every barcode decodes to the expected value and format.
Pro tips
Answers to common questions about the barcode scanner.
UPC-A has 12 digits and is used mainly in the US and Canada. EAN-13 adds one leading digit and is the international standard. A UPC-A number is the same as an EAN-13 with a leading zero, and the tool shows both through the GTIN-14 field.
The last digit of a retail barcode is calculated from the others with the GS1 modulo-10 rule. A valid result means the number is internally consistent. An invalid one means the code was misread or printed with an error.
No. The scanner decodes the number on your device. Product details live in retailer and GS1 databases, which you can search with the copied GTIN.
Blur, glare, cut-off margins, damaged bars and steep angles are the usual causes. A flat, evenly lit, sharp photo with the whole code in view almost always works in Image mode.
Yes, those are usually PDF417 or Aztec codes, both supported. The decoded text is shown in full; some licence data is formatted for machines and looks like coded fields.
No. ToolEnhancer processes files on your own device inside the browser. They are never sent to, stored on or seen by our servers.
Strip location and camera metadata from photos.
Pick any pixel colour from an image.
Extract dominant colours as HEX, RGB and HSL.
Inspect RGB and luminance histograms.
Diff two images side by side or overlaid.
Encode images as data URIs for HTML and CSS.