Pack Camo

Barcode Scanner

Read EAN, UPC, Code 128, QR, Data Matrix and more from an image or your camera.

Everything runs locally with zero file uploads.

Drop an image with a barcode

Photo, screenshot or scan: PNG, JPEG, WebP, GIF or SVG. You can also paste. Nothing is uploaded.

Results

0 codes

Scan an image or use the camera, and the decoded codes appear here.

Decoded on your device with ZXing (WebAssembly). Nothing is uploaded.

Read any barcode from a picture or your camera, right in the browser

This online barcode scanner reads 1D and 2D codes from photos, screenshots and live camera video: EAN-13, EAN-8, UPC-A, UPC-E, ISBN, Code 128, Code 39, Code 93, ITF, Codabar, GS1 DataBar, QR Code, Data Matrix, PDF417, Aztec and MaxiCode. Every code in the image is found at once, and each result shows its decoded text, its format and a box marking where it sits in the picture. Decoding runs in WebAssembly on your device using the open-source ZXing engine, so the images and the codes in them are never uploaded.

How to scan a barcode online

  1. 1Drop a photo or screenshot onto the page, click Choose an image, or paste an image you copied with Ctrl+V (Cmd+V on a Mac).
  2. 2Or switch to Camera, press Start camera and allow access. Hold the barcode flat and steady in view; it is read several times a second.
  3. 3Each code found is outlined on the picture with a number that matches its result card. Hover a card to highlight its box.
  4. 4Copy the decoded text with one click. If the code holds a web address, the link is checked for common tricks before you open it.
  5. 5Narrow the search to 1D barcodes or 2D codes if you only need one kind; it is faster and avoids picking up other codes on the label.

Supported barcode formats

Retail: EAN-13, EAN-8, UPC-A, UPC-E, ISBN
The codes on almost every product in a shop and on the back of books. The check digit is verified while decoding, so a result is only shown when it is consistent.
Industrial: Code 128, Code 39, Code 93, ITF, Codabar
Shipping labels, parcel tracking numbers, asset tags, library cards, blood bags and warehouse shelves. GS1-128 and ITF-14 carton codes are read as well.
GS1 DataBar
The compact codes on fresh produce and coupons, including stacked and expanded variants.
2D: QR Code, Data Matrix, PDF417, Aztec, MaxiCode
QR codes on posters, Data Matrix on electronics and medicine packs, PDF417 on ID cards and boarding passes, Aztec on train and plane tickets, and MaxiCode on UPS parcels.

Tips for a reliable scan

  • Fill a good part of the frame with the barcode, but keep the blank margin on either side of the bars in view: scanners need that quiet zone to find where the code starts.
  • Hold the camera parallel to the label. Long 1D barcodes read best when they run horizontally across the image.
  • Avoid glare from shiny packaging by tilting the item slightly, and use daylight or a lamp rather than the flash at close range.
  • If a phone camera cannot focus close enough, move back a little: a small, sharp code reads better than a large, blurry one.
  • For a screenshot or scanned document, paste it directly instead of photographing the screen, which adds moiré and blur.
  • Faded or low-contrast prints are retried automatically with enhanced contrast and inverted colors.

What the result tells you

The format badge names the symbology, such as EAN-13 or Data Matrix. A second badge appears when the content is not plain text: GS1 for codes that carry GS1 Application Identifiers (for example (01) for a GTIN, (17) for an expiry date and (10) for a batch number), or Binary when the code holds raw bytes rather than text.

The numbered box on the image shows exactly which code each result came from, which helps when a label carries several barcodes, such as a shipping label with a tracking number, a postcode and a 2D code.

An EAN or UPC number identifies a product but does not contain its name or price; those live in the retailer's or brand's database. To make a barcode of your own, use the barcode generator. For QR codes with Wi-Fi details, contacts or links, the QR code scanner also breaks the content down into its fields.

Private by design

Barcodes on boarding passes, ID cards, prescriptions and shipping labels can contain personal data. This scanner decodes everything locally: the ZXing engine is compiled to WebAssembly, served from this site and run inside your browser tab. Images, camera frames and decoded text never leave your device, and the camera stops as soon as you stop it, switch tabs or leave the page.

Frequently asked questions

How do I scan a barcode from an image?
Drop the image onto the page, choose it with the button, or paste it with Ctrl+V. Every barcode in the picture is decoded and outlined, with its text and format listed beside it.
Can I scan a barcode with my laptop's webcam?
Yes. Switch to Camera, press Start camera and allow access. Webcams often struggle to focus up close, so hold the barcode 15 to 30 cm away and keep it still.
Why is my barcode not detected?
Usually the image is blurred, the bars are too small, or the blank margin around the code is cut off. Try a sharper, closer photo with the whole code and its margins visible, avoid glare, and make sure the format filter is set to All formats.
Can it read several barcodes in one image?
Yes. All codes in the image are decoded at once and numbered on the picture, so you can see which result belongs to which code.
Does it read QR codes and Data Matrix?
Yes. Besides 1D barcodes it reads QR Code, Micro QR, Data Matrix, PDF417, Aztec and MaxiCode.
Can I find the product from an EAN or UPC barcode?
The scanner gives you the number. The barcode itself does not contain the product name or price, so copy the number and look it up in a product database or search engine.
Are my images uploaded?
No. Decoding runs in WebAssembly in your browser. Images, camera video and results stay on your device.
Does it work on iPhone and Android?
Yes, in any modern mobile browser. On a phone the rear camera is used by default; if you have several cameras you can pick another one from the list.