Utilia

Barcode Scanner

Scan barcodes with your webcam or phone camera, or read them from a photo. EAN-13, UPC-A, Code 128, Code 39, QR, Data Matrix and more, in your browser.

Press “Scan with camera” and allow access, or choose an image. Nothing is uploaded.

How to scan a barcode

With the camera

  1. Press Scan with camera and allow camera access when your browser asks. On a phone, the rear camera is used by default; after the first start you can pick another one in the Camera list.
  2. Point the camera at the barcode. Fill a good part of the picture with the code, hold it steady and avoid glare. A green outline shows where the code was found.
  3. The value appears under Scanned codes and the camera stops. Tick Keep scanning after a code is found to scan a series of items (an inventory, a pile of books): each new code is added at the top of the list, and a code that is already there simply moves back to the top. Press Stop camera when you are done.

From a photo or screenshot

  1. Click Choose or drop photos of barcodes, or drag image files onto the box. You can select several files at once.
  2. The image is shown with every detected code outlined, and the values are added to Scanned codes. A single image can contain several barcodes.

Use Copy to copy one value, Copy all to copy every value (one per line), Download CSV to save the list with the barcode type and the time of each scan, and Clear to empty it.

Supported barcode types

The reader is ZXing-C++, a widely used open-source decoding library, compiled to WebAssembly so it runs entirely in your browser. It reads the common 1D barcodes (EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, Code 93, Codabar, ITF, GS1 DataBar) and 2D codes (QR Code, Micro QR, Data Matrix, PDF417, Aztec, MaxiCode).

Leave Barcode types on All types unless you have a reason to narrow it. Choosing Products (EAN, UPC), All 1D barcodes or 2D codes (QR, Data Matrix, PDF417, Aztec) makes camera scanning slightly faster and avoids reading the wrong code when several are in view, for example the QR code printed next to the barcode on a parcel.

What the result tells you

For product codes (EAN-13 and UPC-A), the tool checks the check digit and shows the GS1 prefix: the first three digits identify the GS1 member organization that issued the company number, for example 300–379 for France, 754–755 for Canada and 000–139 for the United States and Canada. This is not the country where the product was made: a company registered with GS1 France can manufacture anywhere. Prefixes 978 and 979 mean a book (the ISBN-10 is shown when it exists), 977 a periodical (ISSN), and 200–299 codes that stores assign themselves, such as items sold by weight.

If a code contains a web address, it is displayed as plain text and never opened automatically. Scammers stick fake codes on parking meters or send them by mail, so read the domain before you paste the address into your browser.

Privacy

Camera frames and images are analysed on your device. Nothing is uploaded, and the camera turns off when you press Stop camera, when a code is found (unless you keep scanning) or when you leave the page. The list of scanned codes is not saved.

Frequently asked questions

Why can't the camera read my barcode?

Most failures come from blur, glare or a code that is too small in the frame. Move closer until the barcode fills about half the width of the picture, tilt the item slightly to remove reflections, and add light. Laptop webcams often cannot focus closer than 30 cm; in that case, take a photo with your phone and choose the image instead.

Does it work on a phone?

Yes, in any recent mobile browser. The page must be opened over https for the camera to be available, and you must allow camera access for this site.

Can I scan a barcode from a screenshot or PDF?

From a screenshot or any image file your browser can open (PNG, JPEG, WebP, GIF, usually HEIC on Safari), yes. For a PDF, take a screenshot of the page first.

What does “The check digit is wrong” mean?

The last digit of an EAN or UPC code is calculated from the others. If it does not match, the code was misprinted or misread. Scan it again, or type it into a barcode generator to check.

Can it look up the product name or price?

No. A barcode only contains a number; the product details live in the databases of retailers and GS1. This tool reads the number but does not query any online database.