Free Barcode Scanner
Read EAN, UPC, Code 128, Code 39, ITF, Codabar, Data Matrix and PDF417 from your camera or an image, with check-digit checks and CSV export.
Loading tool…
How to scan a barcode online with a camera or image
This barcode reader handles the common product codes (EAN-13, EAN-8, UPC-A and UPC-E), logistics and industrial codes (Code 128, Code 39, ITF and Codabar) and the 2D symbologies Data Matrix and PDF417. It is meant for quick lookups, checking printed labels and simple stock counts. QR codes have their own QR Code Scanner, and you can create barcodes with the Barcode Generator.
- Choose Camera and select Start camera, or choose Image or screenshot to read a saved photo or pasted screenshot.
- Leave all formats ticked, or narrow the list (for example Retail only) so scanning is faster and false reads are less likely.
- Hold a 1D barcode horizontally so it fills about two-thirds of the frame and keep it still until the result appears (phones that support it give a short vibration).
- Read the value, the format and the extra facts: check-digit status, ISBN for books, the expanded UPC-A form of a UPC-E code and the GTIN-14 form.
- Tick Continuous scanning to keep the camera running and build a list. Download the list as CSV or copy the values.
When to use an online barcode scanner
Barcodes are everywhere in retail, warehousing, libraries, healthcare and events, but you do not always have a dedicated scanner at hand. A shop owner may want to check that new packaging prints a readable EAN-13 before a production run. A seller listing products online may need the GTIN from an item on the desk. A small warehouse may count stock with a laptop webcam, and a developer may need to know exactly what a Code 128 shipping label or a PDF417 code on a ticket contains.
This tool reads ten common symbologies from a live camera or from an image, including pasted screenshots. Besides the raw value it reports the format and, for retail codes, whether the check digit is valid, which is the quickest way to catch a misread or a typo in printed artwork. Continuous scanning keeps the camera running and builds a list with counts, which you can download as a CSV file for a spreadsheet.
Worked example: checking an EAN-13 and a UPC-E
Scan the EAN-13 code 4006381333931. The last digit, 1, is the check digit, calculated from the first twelve digits with the GS1 modulo-10 rule. Working from the right of the twelve data digits 400638133393, the digits are multiplied alternately by 3 and 1: 4×1, 0×3, 0×1, 6×3, 3×1, 8×3, 1×1, 3×3, 3×1, 3×3, 9×1 and 3×3. The products add up to 89. The check digit is the amount needed to reach the next multiple of ten, so 90 − 89 = 1. The scanner shows Check digit: Valid (1). If a smudge made it read 4006381333932 instead, the result would show a warning that the check digit does not match.
Small packs often carry the eight-digit UPC-E, which is a compressed form of UPC-A. Scanning 04252614 gives the expanded UPC-A value 042100005264, and that 12-digit number also passes the check-digit test. A book's EAN-13 such as 9780306406157 is identified as an ISBN-13 because it starts with 978, and the scanner shows its 14-digit GTIN form, 09780306406157, which some catalogues require.
How the decoding works
If your browser includes a built-in barcode detector, the scanner uses it for the formats it supports, because native detection is fast and copes well with angles. Everything else is handled by ZXing, a widely used open-source barcode library, which loads only when it is first needed. Each image is converted to brightness values, binarized, and passed to ZXing with only the formats you ticked, which speeds up decoding and reduces false matches.
For uploaded images the scanner tries harder: it tests several image sizes, an inverted copy for light bars on a dark background, and a copy turned 90 degrees for barcodes printed vertically. The live camera uses a faster single pass several times a second. Repeated reads of the same code within a couple of seconds are ignored, so holding an item in front of the camera does not inflate your count.
Common mistakes
Do not assume a valid check digit proves a product is genuine or registered. It only shows the number is internally consistent. Real retail numbers are assigned through GS1 member organisations, and this tool does not look up product names, owners or prices. Codes starting with 2 are used for in-store items such as weighed produce, so their meaning depends on the shop.
When scanning fails, the usual causes are blur, glare and size. Keep the whole barcode in view including the white margins at each end, hold it level and fill most of the frame. Very thin bars need a sharper camera or a closer, well-lit photo. If you only work with one family of codes, untick the others; leaving Codabar or ITF selected when you never use them slightly increases the chance of a false read on patterned packaging.
Useful tips and limitations
- A failed check digit usually means the scan was misread. Rescan in better light before you trust the number.
- Shiny packaging reflects light. Tilt the item slightly so the glare moves off the bars.
- Use Retail only for supermarket and shop products to avoid accidental matches with other formats.
- Downloaded CSV files start with a byte-order mark so spreadsheet apps show accented characters correctly.
Common questions
Which barcode types can the Barcode Scanner read?
EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ITF (including ITF-14), Codabar, Data Matrix and PDF417. Use the QR Code Scanner for QR codes.
Does the Barcode Scanner look up product names or prices?
No. It reads the number or text stored in the barcode. Product details live in retailer and GS1 databases, which this tool does not contact.
Can I scan many barcodes in a row?
Yes. Turn on Continuous scanning. Each new code is added to the list with a count, and the list can be downloaded as a CSV file.
Why does my barcode scan as a different format than expected?
Some formats overlap. A UPC-A code is a valid EAN-13 with a leading zero, so a scanner may report either. The expanded forms shown in the result help you compare them.
Can the Barcode Scanner read several barcodes in one photo?
When your browser's built-in detector is available, all supported barcodes in the image are listed. The ZXing fallback reads one barcode per image, so crop to each code if needed.
Does the CSV export protect against spreadsheet formulas?
Yes. Values beginning with =, +, - or @ are prefixed with an apostrophe so spreadsheet apps treat them as text rather than formulas. Plain negative numbers are left unchanged.
Images, screenshots and camera frames are processed in this browser and are not uploaded to ToolWorld Online. Nothing is stored after you close the tab, so save any result you need.
