Barcode Scanner
Scan QR codes, EAN, UPC, Code 128, and many other barcode formats from uploaded images or your camera. Free, private, and fully browser based.
What the Barcode Scanner Does
The Barcode Scanner decodes barcodes and QR codes from uploaded images or live camera video. It recognizes all the common retail, industrial, and matrix formats, including QR Code, EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, Code 93, ITF, Codabar, Data Matrix, Aztec, and PDF417. Every scan runs locally in your browser, so images and camera frames never leave your device.
Upload a photo or screenshot of a barcode and the decoded value appears instantly with its detected format. Or switch to the camera tab, point your device at a code, and the scanner locks onto it in real time. Use the copy button to move the decoded text into any other application.
How to Scan a Barcode
- Open the Upload image tab and drop in a photo, screenshot, or exported product image containing a barcode.
- The image is scanned immediately and the decoded value, format, and encoding type appear on the right.
- Alternatively, open the Camera tab, press Start camera, and hold the code inside the video frame.
- When a code is detected, scanning stops automatically and the value is shown. Press Copy decoded value to use it elsewhere.
Barcode Formats You Can Scan
Barcodes come in two broad families. Linear (1D) codes store data in the varying widths of parallel bars and are read along a single line. Matrix (2D) codes store data in a grid of black and white modules and can hold far more information, including full URLs and contact cards.
- Retail 1D codes: EAN-13, EAN-8, UPC-A, and UPC-E are the numbers printed on product packaging worldwide. EAN-13 is standard in Europe and most of the world, while UPC-A dominates in North America.
- Industrial 1D codes: Code 128, Code 39, Code 93, ITF, and Codabar are used for shipping labels, inventory, tickets, and asset tags because they encode alphanumeric data compactly.
- 2D matrix codes: QR Code, Micro QR Code, Data Matrix, Aztec, and PDF417 carry URLs, text, vCards, and structured data. QR codes are the most common thanks to phone cameras.
- GS1 codes: RSS-14 and RSS Expanded are compact retail codes used on small packages such as produce and pharmaceuticals.
How Barcode Scanning Works
A scanner first locates the code in the image, then samples the pattern and translates it back into data. For 1D codes the decoder looks for the start and stop patterns, measures bar widths, and decodes the sequence. For 2D codes it detects the finder patterns, maps the grid, applies error correction, and reads the payload.
Most formats include a built-in checksum, so a misread is usually rejected rather than returned as wrong data. That is why a slightly blurry code either decodes correctly or fails, and rarely produces a plausible but incorrect result.
This tool uses the ZXing decoding library, the same open source engine behind many commercial scanner apps. Try harder mode is enabled, which spends more time analyzing low contrast, rotated, or partially damaged codes before giving up.
Tips for Scanning Difficult Codes
- Keep the entire code in frame, including the blank margin on each side called the quiet zone. Cropping it off is the most common reason a scan fails.
- Fill most of the frame with the barcode. Very small codes lose detail, and codes photographed too close can blur.
- Avoid glare from screens and flash photos. Even, indirect light gives the sharpest contrast.
- Hold the camera steady for a moment. Motion blur affects thin bars far more than large QR modules.
- For curved surfaces like bottles and cans, scan from a slight angle or move back so the code appears flatter.
- If a screenshot scan fails, check that the image was not resized or compressed heavily. Sharp edges matter most for 1D codes.
Image Scanning vs Camera Scanning
Image scanning is best for screenshots, downloaded product photos, scanned documents, and any code you already have as a file. It is deterministic and works offline. Camera scanning is best for physical products and printed codes, and gives live feedback so you can adjust distance and angle until the code locks in. Both modes use the same decoder, so the recognized formats are identical.
Common Uses
- Reading the GTIN or UPC from a product package to look it up or compare prices.
- Extracting a URL from a QR code on a poster, receipt, or business card without installing an app.
- Digitizing tracking numbers and shipping labels from photos for spreadsheets.
- Checking what data a QR code really contains before trusting it.
- Decoding Data Matrix and PDF417 codes from documents and ID cards.
Privacy and Offline Use
Images are never uploaded. They are decoded in the browser using the local ZXing library, and camera frames are analyzed on your device in memory. Nothing is recorded, stored, or transmitted, and no account is required. After the page loads, image scanning continues to work without an internet connection.
Related Tools
- Barcode Generator creates Code 128, EAN, UPC, and other barcodes for testing with this scanner.
- QR Code Generator builds custom QR codes with colors, logos, and presets.
- QR Code Decoder is a focused tool for reading QR codes from images.
- GTIN Check Digit Calculator verifies the check digit in the EAN and UPC numbers a scan returns.
- WiFi QR Code Generator creates codes you can test with the camera mode.
Frequently Asked Questions
Which barcode formats are supported?
QR Code, Micro QR Code, Data Matrix, Aztec, PDF417, EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, Code 93, ITF, Codabar, RSS-14, and RSS Expanded. MaxiCode is also recognized when the image is a clean, unrotated symbol with enough white border.
Why does a clear barcode sometimes fail to scan?
The usual causes are a cropped quiet zone, glare, motion blur, very low contrast, or heavy image compression. Damaged or partially occluded codes can also fail when the error correction capacity is exceeded. Try a sharper photo, more even lighting, or move the camera slightly closer or farther away.
Can I scan barcodes from screenshots?
Yes. Screenshots are ideal because they are pixel sharp. Upload the image in the Upload image tab and it is scanned instantly. Just make sure the screenshot includes the full code with its margins.
Does the camera scan continuously?
Yes. While the camera is running, frames are analyzed continuously. As soon as a code is decoded, scanning stops automatically, the value is displayed, and you can copy it or press the scan again button to read another code.
Is the decoded data sent anywhere?
No. Decoding happens entirely in your browser. Images and camera frames are processed in memory, never uploaded, and nothing is stored on any server. There is no account and no usage tracking.
Can it read multiple barcodes in one image?
The scanner returns the first code it successfully decodes. If an image contains several codes, crop the one you need and scan it separately for a clean result.
Does camera scanning work on phones and tablets?
Yes. The scanner uses the standard camera API and works on modern mobile browsers over HTTPS. On phones the rear camera is preferred automatically, which makes scanning product barcodes easy.