Barcode Scanner

Scan and decode barcodes and QR codes using your camera or an uploaded image. Supports EAN, UPC, Code 128, Code 39, QR, and more.

First use downloads ~600 KB ZXing barcode and QR decoder compiled for the browser. Reads 1D and 2D barcodes from your camera or an image with no upload. Downloaded once and cached.

Point your camera at a barcode or QR code

About Barcode Scanner

Decode 1D and 2D barcodes from a live camera feed or an image file. Supports EAN-8, EAN-13, UPC-A, UPC-E, Code 128, Code 39, ITF, QR Code, Data Matrix, Aztec, PDF417, and more. The decoded text and format name appear instantly, with a one-click copy. All decoding runs in your browser via the ZXing library.

Barcode readers typically require a dedicated app or a physical scanner. This tool lets you use your device camera or any image file to decode the most common 1D and 2D barcode formats without installing anything. The ZXing decoder runs entirely client-side, so nothing leaves your browser during the process.

Camera mode starts the rear-facing camera (or your webcam on a laptop) and continuously scans each frame. When a barcode is recognized, the camera stops and the decoded text appears along with the format name. Switching to the upload tab or clicking Stop will always release the camera light. For image uploads, the library attempts to locate and decode the barcode anywhere in the frame, even on low-contrast or slightly rotated codes.

Format coverage includes the entire ZXing library set: EAN-8, EAN-13, UPC-A, UPC-E, Code 128, Code 39, Code 93, Codabar, ITF, QR Code, Data Matrix, Aztec, PDF417, and MaxiCode. If the decoded text is a URL, a safe clickable link is displayed so you can open it deliberately without any auto-redirect.

How to use the Barcode Scanner
  1. 1

    Choose camera or upload

    Select the Camera tab to scan with your device camera, or the Upload tab to decode a barcode from a saved image file.

  2. 2

    Scan or load the barcode

    In camera mode, click Start camera and point it at the barcode. The tool scans each frame and stops automatically when a code is found. In upload mode, pick any image and the decoder runs once.

  3. 3

    Copy or follow the result

    The decoded text and format are shown immediately. Click Copy to put the text on your clipboard. If it is a URL, a safe link appears that you can open when ready.

Common use cases

Check a product barcode

Scan a retail EAN-13 or UPC-A barcode to read the number for price lookup or inventory tracking.

Decode a QR code from a screenshot

Upload a screenshot containing a QR code to extract the embedded URL or text without a phone app.

Read shipping label barcodes

Point your camera at a Code 128 or ITF barcode on a shipping label to capture the tracking number instantly.

Verify a generated barcode

After creating a barcode with the Barcode Generator tool, scan or upload it here to confirm the encoded value is correct.

Frequently asked questions
Is my image or camera feed uploaded anywhere?

No. All decoding happens in your browser using the ZXing library. Camera frames and uploaded images are processed locally and never sent to any server.

Which barcode formats does this support?

EAN-8, EAN-13, UPC-A, UPC-E, Code 128, Code 39, Code 93, Codabar, ITF, QR Code, Data Matrix, Aztec, PDF417, and MaxiCode. The ZXing library handles all of these automatically.

Why does camera access require HTTPS?

Browsers restrict camera access to secure contexts (HTTPS or localhost) as a security measure. If you see a camera error, check that you are on the HTTPS version of the site.

What if my image barcode is not detected?

Make sure the barcode is not blurry, heavily cropped, or at an extreme angle. Try a higher-resolution photo, or take a fresh photo with better lighting.

Can this read barcodes from PDFs or documents?

Take a screenshot of the page that contains the barcode, then upload the screenshot image. PDF files are not accepted directly.

generatorimage