Scan a barcode

Read the number in a product or parcel barcode from a photo or your camera. Nothing is looked up, and the picture is not uploaded.

Read EAN, UPC, Code 128 and other barcodes from a photo or your camera. It is free, and your images and the picture from your camera are not uploaded: everything runs in your browser on your device. Your browser asks for camera permission only if you press the camera button, and after your first run the page works offline.

Drop an image with a barcodeor click to choose files. Batches welcome.
    Scan with your cameraYour browser asks to use the camera when you press the button. The picture stays in this tab and is not uploaded.

    Working…

    Done

    Your files are processed on this device and never sent to a server. Reload the page to clear everything from memory.

    A barcode on a product or a parcel holds a number: the product number (EAN or UPC), or a code your own system gave it (Code 128, Code 39). This page reads the number from a photo or your camera and shows it to you, so you can copy it.

    It does not look the number up. It will not tell you a price or what the product is, because that would mean sending the number to a service; this page keeps everything on your device.

    Barcodes it reads

    What a barcode number is for

    How it works

    1. Drop a photo of the barcode on the box, paste a screenshot, or press Scan with camera.
    2. Keep the whole barcode in the picture, flat and in focus, with blank space at both ends.
    3. Copy the number from the card. To make a barcode, use the [barcode generator](/tools/barcode-generator).

    In your browser, not on a server

    ZXing-C++ (Apache-2.0), a widely used open-source barcode reader compiled to WebAssembly, finds and reads the code on this page. The reader is a 0.9 MB file served from this site, so it is fetched on your first scan and then kept in your browser. Camera pictures are read frame by frame in memory and are never saved.

    Compared with upload-based tools: A scanner that reads the picture on a server has to receive it first, and a Wi-Fi password or a ticket code travels with it. Here the picture is read on your device.

    Verify it yourself. Give the page a short while after your first run to save itself for offline use, then turn off Wi-Fi or switch to airplane mode and run the tool again. Or open your browser's developer tools (F12, or Cmd-Option-I on a Mac), pick the Network tab, and watch it while you convert. The panel above does the same count for you.

    Questions

    Can it tell me the price or the product from a barcode?

    No. It reads the number in the barcode. Looking a number up would mean sending it to a service, which this page does not do. Copy the number and search for it where you shop.

    Which barcodes can it read?

    EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, Code 93, ITF, Codabar, and the two-dimensional QR code, Data Matrix, Aztec and PDF417.

    Why does the number have a leading zero, or one more digit than I expected?

    A UPC-A number (12 digits) is read as an EAN-13 with a 0 in front, because the two are one system at two lengths. Both are the same product number.

    Does it work with a handheld scanner?

    A handheld scanner types the number into whatever is open and needs no web page. This page is for reading a barcode from a picture or with a camera.

    Is the picture uploaded?

    No. The barcode is read on your device and the picture is not uploaded.

    More image tools

    Other conversions