How to Read a Barcode Without a Scanner

Learn how to read a barcode without a scanner: check the printed number, use your phone camera, or decode the bars by hand with the GS1 formula.

Not every barcode comes with a scanner nearby, and not every barcode even needs one. For most UPC-A and EAN-13 codes, the data is printed right below the bars in plain digits. When it isn't, a phone camera and a free web tool can do what a handheld scanner does. And if neither option is available, the bars themselves can be decoded by hand using the same arithmetic a scanner runs internally. Here's how each method actually works.

How Do You Read a Barcode Without a Scanner?

The fastest way is to read the human-readable number printed below the bars, which is the same data the barcode encodes. If no number is printed, your phone's camera can act as a scanner through a web-based tool or an app, with no dedicated hardware required. Manually decoding the bars themselves is also possible but rarely necessary.

Retail barcodes built on the GS1 standard, which covers UPC-A, EAN-13, and EAN-8, are required to print this human-readable interpretation beneath the bars for exactly this reason: so a cashier, auditor, or shopper can read the number even when a scanner isn't working. That printed number isn't a summary or approximation. It's the literal digit-for-digit content the bars encode, check digit included.

Barcodes that don't include a printed number, such as some shipping and inventory codes built on Code 128 or Code 39, need either a camera-based scan or a manual decode, covered below.

Can You Decode a Barcode by Hand?

Yes. UPC-A and EAN-13 barcodes encode each digit as a 7-module pattern of bars and spaces, and GS1's published encoding tables let you translate those widths back into digits manually. It takes a few minutes per code and is really only useful for learning or auditing a handful of barcodes, not everyday use.

Every digit in a UPC-A or EAN-13 barcode occupies exactly 7 modules (the narrowest bar or space width used in the symbol), arranged as two bars and two spaces of varying widths. The left half of the barcode uses what GS1 calls L-code, an odd-parity pattern where each digit starts with a space, while the right half uses R-code, an even-parity pattern where each digit starts with a bar. EAN-13 adds a third set, G-code, used in the left half to encode the barcode's leading digit invisibly through which combination of L-code and G-code patterns appear.

To decode by hand:

  1. Find the three guard patterns: a thin bar-space-bar sequence at the start, an identical one at the end, and a thinner bar-space-bar-space-bar sequence in the middle that splits the code into left and right halves.
  2. Measure each digit's 7-module group between guards, reading bar and space widths in module units (1 to 4 units each).
  3. Compare the pattern against the L-code, G-code, or R-code parity table for UPC-A or EAN-13 to identify each digit.
  4. Run the modulo 10 check digit formula against the first 11 or 12 digits to confirm the decode is correct.

This is the same process a laser or camera scanner performs electronically in milliseconds. Working through it by hand mostly confirms that the number printed below the bars matches what's actually encoded, which is useful when a label looks tampered with or misprinted. For everyday reading, it's far faster to use the printed number or a camera scan.

How Do I Read a Barcode With My Phone Camera?

Open a web-based scanner like barcodescanner.online or Google Lens, point your camera at the barcode from about 4-8 inches away, and hold steady for a second. The result is identical to what a handheld laser scanner would return, since both decode the same bar pattern.

Most phone camera apps only auto-detect QR codes natively; they don't decode 1D product barcodes like UPC-A or EAN-13 on their own. For those, you need either a camera-equipped web tool or an app:

  • Web-based scanner: Open barcodescanner.online in any mobile browser, tap Scan with Camera, and point at the barcode. No installation, and the decoding runs locally in the browser rather than uploading the image anywhere.
  • Google Lens (Android): Open Lens from the Google app or camera app and point it at the barcode. It reads most 1D and 2D formats and can also pull up product and pricing information.
  • A saved photo: If you already have a picture of the barcode rather than the physical item, upload it to a web-based scanner's image option instead of using the live camera.

For the full walkthrough across iPhone and Android, including fixes for barcodes that won't scan, see our guide to scanning a barcode with your phone.

What Do the Numbers Under a Barcode Mean?

In a GS1 barcode (UPC-A or EAN-13), the digits break into a GS1 Company Prefix identifying the manufacturer, an item reference the company assigns to that specific product, and a final check digit that validates the rest. No part of the number is random.

Take a 12-digit UPC-A number as an example:

  • Number system digit (1 digit): Identifies the general category, such as standard retail items, pharmaceuticals, or variable-weight products.
  • GS1 Company Prefix (typically 5-10 digits, combined with the number system digit): Assigned by GS1 to a specific manufacturer or brand owner. Every product that company sells shares this prefix.
  • Item reference (the remaining digits): Chosen by the company to identify one specific product, size, or variant.
  • Check digit (1 digit): Calculated from all the preceding digits using a fixed modulo 10 formula, and recalculated by every scanner to catch misreads or typos.

EAN-13 follows the same logic across 13 digits, with the first 2-3 digits typically indicating the GS1 member organization that issued the prefix (which often, though not always, corresponds to a country) rather than where the product was manufactured. For the full breakdown of how check digits are calculated, see our guide to what a barcode check digit is.

When Manual Reading Isn't Enough

Reading the printed number works for a single product lookup, but it doesn't scale past a handful of codes, and it doesn't help with formats that skip the human-readable line, like many Code 128 shipping labels or 2D codes such as QR and Data Matrix. In those cases, a camera-based scan is the only practical option, since the bar or module pattern in 2D formats isn't something a person can read by eye at all. Our how barcodes work guide covers how 2D encoding and error correction differ from the 1D formats discussed here.

Sources

Frequently Asked Questions

How do you read a barcode without a scanner?
The fastest way is to read the human-readable number printed below the bars, which is the same data the barcode encodes. If no number is printed, your phone's camera can act as a scanner through a web-based tool or an app, with no dedicated hardware required. Manually decoding the bars themselves is also possible but rarely necessary.
Can you decode a barcode by hand?
Yes. UPC-A and EAN-13 barcodes encode each digit as a 7-module pattern of bars and spaces, and GS1's published encoding tables let you translate those widths back into digits manually. It takes a few minutes per code and is really only useful for learning or auditing a handful of barcodes, not everyday use.
How do I read a barcode with my phone camera?
Open a web-based scanner like barcodescanner.online or Google Lens, point your camera at the barcode from about 4-8 inches away, and hold steady for a second. The result is identical to what a handheld laser scanner would return, since both decode the same bar pattern.
What do the numbers under a barcode mean?
In a GS1 barcode (UPC-A or EAN-13), the digits break into a GS1 Company Prefix identifying the manufacturer, an item reference the company assigns to that specific product, and a final check digit that validates the rest. No part of the number is random.