Skip to content
โ”‚โ”‚โ”‚

Barcode Scanner Online: Read a Barcode and Check the Number

Read a barcode from a photo, a screenshot or your camera. It gives you the number, tells you whether the check digit is valid, and names the GS1 prefix. Nothing is uploaded.

Built by Toolsque Team · last updated September 29, 2026 · checked against our testing process

Scan a barcode Click to upload, drag an image in, or press Ctrl+V to paste a screenshot Tap to take a photo or pick one from your gallery

Checking numbers in bulk or from your own code? The same validation runs as a free GS1 barcode API, no key required.

How to scan a barcode online

  1. Give it an image: tap the box to take a photo or pick one from your gallery. On a computer you can click to browse, drag a file in, or press Ctrl+V to paste a screenshot.
  2. Or use the camera: press Use camera and hold the code steady in frame. It stops as soon as it reads one.
  3. Read the number: the decoded value appears straight away, with the symbology it was read as.
  4. Check the verdict: for UPC and EAN codes you get a green badge if the check digit is correct, and a red one telling you what the last digit should have been if it is not.
  5. Look at the prefix: the tool names the GS1 organisation that issued the number. That is who registered it, not where the product was made.

A barcode scanner online that also checks the number

This is a free barcode scanner online: upload a photo or a screenshot, or point your camera at the code. It is decoded in your browser and you get the number straight away. What you also get, which most online barcode readers do not give you, is a straight answer on whether that number is valid.

That matters more than it sounds. A barcode with a wrong check digit scans perfectly well on this page and on a phone, then gets rejected at a retail till or refused by a marketplace listing. The bars are readable. The number underneath them is wrong. You will not find that out from a reader that just prints the digits.

What the check digit actually is

The last digit of a UPC or EAN barcode is not part of the product number. It is a checksum worked out from all the digits before it, under the GS1 General Specifications.

The rule is simple enough to do by hand. Take every digit except the last, and weight them alternately by 3 and 1, starting with 3 on the rightmost one. Add those up. The check digit is whatever number you need to reach the next multiple of ten.

Take 4006381333931. The payload is 400638133393. Weighted from the right that gives 9 + 9 + 9 + 3 + 9 + 1 + 24 + 3 + 18 + 0 + 0 + 4, which is 89. The next multiple of ten is 90, so the check digit is 1. The code ends in 1, so it is genuine.

Change any single digit and that sum moves, so the last digit no longer matches. That is the whole point: it catches a typo before it reaches a printer. This tool does the same arithmetic on whatever it reads and tells you if the two disagree.

What the first three digits mean, and what they do not

The leading digits of an EAN-13 are the GS1 prefix. They identify the GS1 member organisation that issued the number to the company. This tool names that organisation for you.

Here is the part that gets repeated wrongly everywhere: the prefix is not the country of manufacture. It tells you where the company registered its barcode range, nothing more. A product carrying a 690 prefix was numbered through GS1 China, and it may well have been made somewhere else entirely. Plenty of goods made in China carry prefixes from Germany, the UK or the US because the brand registered there. Anyone telling you to read country of origin off a barcode is wrong, and this is worth knowing before you repeat it.

A few prefixes mean something other than a country. 978 and 979 are books, which is why an ISBN is also a valid EAN-13. 977 is serial publications. Anything starting 20 to 29 is reserved for in-store use, so a supermarket can number its own loose produce, and those numbers mean nothing outside that shop.

Which barcodes this reads

It handles the common retail and logistics symbologies: EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ITF and Codabar, plus 2D codes including QR and Data Matrix. If you specifically want a QR code read, the QR code reader is built for that and handles screenshots better.

Check digit validation applies to the GTIN family, which is the 8, 12, 13 and 14 digit numeric codes. Code 128 and Code 39 can carry letters and any content at all, so there is nothing to validate there and the tool says so rather than inventing a verdict.

When a barcode will not read

Almost always it is the image rather than the code. Crop tightly around the bars and leave a clear white margin on each side, because the quiet zone either side is part of the specification and a scanner needs it. Keep the code roughly level; heavy skew defeats the line finder. Avoid glare, and avoid a shadow falling across the middle of the bars, which is the most common failure with a photo taken in a shop. If you are photographing a curved surface like a tin or a bottle, get square on to it, since the bars distort towards the edges.

If the same code reads as a different number twice, the image is too poor to trust and you should retake it rather than believe either result.

Nothing is uploaded

The decoding runs entirely in your browser. The image never leaves your device, is never sent to a server, and is not stored anywhere. Close the tab and it is gone. That matters if you are scanning something from an invoice, a shipment or a patient label.

Need to make a barcode rather than read one? Use the barcode generator, or the UPC generator and EAN-13 generator, which calculate the check digit for you. If you are selling and wondering whether you need registered numbers at all, read do I need GS1 barcodes first.

Results are an estimate to work from, not professional advice. See our disclaimer.

If you already have the digits and just need the last one, the EAN-13 check digit calculator computes it and lays out the full working rather than only printing the answer.

Frequently Asked Questions

What barcode types can this read?

EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ITF and Codabar, plus 2D codes including QR and Data Matrix. If you mainly want QR codes read from screenshots, the QR code reader is the better tool for that.

What does it mean if the check digit is wrong?

The last digit of a UPC or EAN is a checksum worked out from the others. If it does not match, the number is not a valid GTIN. It will scan here and on a phone, and then get rejected at a till or by a marketplace. Either the code was printed from a mistyped number, or the scan misread a digit. Scan it again, and if you get the same number twice the code itself is wrong.

Does the first digit tell me which country the product is from?

No, and this is the most common myth about barcodes. The prefix identifies the GS1 member organisation that issued the number to the company. A brand registered in Germany can have its products made anywhere. You cannot read country of origin off a barcode.

Why is 978 showing as a book?

Because it is. The 978 and 979 prefixes are reserved for ISBNs, so every book barcode is also a valid EAN-13. 977 is used the same way for serial publications.

What are the codes starting 20 to 29?

They are reserved for in-store use. A supermarket assigns them to loose produce and items priced by weight. Those numbers are meaningful only inside that shop and are not registered anywhere.

Is my image uploaded anywhere?

No. The decoding runs in your browser. The image is never sent to a server and is not stored. Close the tab and it is gone.

Why will my barcode not scan?

Usually the image rather than the code. Crop close to the bars but leave white space either side, keep it level, and avoid glare or a shadow across the middle. On a tin or a bottle, get square on, because the bars distort towards a curved edge.

Can it read a damaged barcode?

Sometimes. Unlike QR codes, most 1D barcodes have no error correction, so a scratch through the bars often means it cannot be read at all. If part of the number is still legible underneath, type it into the EAN-13 generator to rebuild a clean one.