Barcode Reader

Barcode Reader

PNG, JPEG or WebP, up to 8 MB. Supports EAN-13, UPC-A and Code 128.

Reading image...

Barcodes found:

This browser cannot keep the result between steps. Use the one-page view.

Next: choose a barcode

Have a photo or screenshot of a linear barcode? Choose a PNG, JPEG or WebP image to read the characters encoded in an EAN-13, UPC-A or Code 128 symbol. If the image contains several readable codes, choose the one you need, then copy its exact value. This reader reports the symbol it decoded; it does not look up a product or verify that a label is genuine.

Read a barcode from an image

  1. 1

    Choose an image

    Select a PNG, JPEG or WebP file, up to 8 MB, with a clear view of the bars. The image is decoded in your browser.

  2. 2

    Choose a detected code

    If the image has more than one readable barcode, choose the numbered result and its detected symbol type.

  3. 3

    Read and copy

    See the exact encoded characters and copy them. EAN-13 and UPC-A also show whether their numeric check digit is valid.

What the result tells you

EAN-13 and UPC-A are the familiar numeric retail barcode formats. EAN-13 carries 13 digits; UPC-A carries 12. The last digit is calculated from the others. This reader checks that digit after decoding either format. A valid check digit means the number is internally consistent, not that a product name, price, manufacturer or physical label has been verified.

Code 128 can encode letters, digits and other characters. The reader returns the text obtained from the symbol, including any leading zeroes. Code 128 has a symbol-level checksum that the decoder checks while reading the bars, but an arbitrary Code 128 value does not have the same displayed retail-number check digit as EAN-13 or UPC-A. The result therefore does not call it an EAN or UPC check-digit pass.

Symbol Encoded value shown Extra result
EAN-13 13 digits Numeric check digit
UPC-A 12 digits Numeric check digit
Code 128 Decoded text Symbol type

Tips for a readable image

Keep the full width of the bars and a little clear space on both sides in the frame. A straight, sharp, high-contrast photo usually works better than a cropped, blurred or reflective label. If no supported code is found, try another image rather than treating an empty result as a zero or an unknown product. The image file is limited to 8 MB, and very large images are scaled down before decoding.

The pixels stay in your browser. In the multi-step version, the decoded text and your selection are held temporarily in this tab’s session storage so they can move between pages; the image itself is not saved there or put in the page address. If temporary storage is blocked, the one-page form lets you scan and read the result without moving between steps. Start over clears the saved result.

Frequently Asked Questions

Use a PNG, JPEG or WebP file of up to 8 MB containing EAN-13, UPC-A or Code 128 bars. QR codes use a different two-dimensional format; use the QR code reader for those. A damaged or low-contrast image may not decode.

No. It only checks the numeric structure of an EAN-13 or UPC-A value. This tool has no product catalog and cannot confirm product identity, price, ownership or whether a printed label is authentic.

Choose a numbered detected code before viewing the final value. Check the displayed symbol type and characters against the image, especially when several labels appear close together.

No. This reader decodes the selected image in your browser. The multi-step pages use temporary tab storage for decoded text and the selected result, not for the image pixels. The one-page form is available if that storage is blocked.

Related Tools

Tool available in other languages