Barcode Scanner
A premium barcode scanner that works entirely in your browser. Scan barcodes using your webcam or mobile camera with live continuous scanning, upload an image file, drag and drop an image, or paste from clipboard. Automatically detects CODE128, CODE39, CODE93, Codabar, EAN-13, EAN-8, UPC-A, UPC-E, ITF, MSI, and Pharmacode barcodes. All processing happens locally using ZBar WebAssembly — your images never leave your device.
No Uploads
Everything stays in your browser
Powered by ZBar
WASM-based scanning library
Zero Tracking
No analytics, no cookies, no data collection
Works Offline
No internet needed after first load
Supported Barcode Formats
All barcode symbologies that the scanner can automatically detect and decode
CODE128
High-density alphanumeric — shipping & logistics
CODE39
Variable-length alphanumeric — government & military
CODE93
Compact alphanumeric — enhanced CODE39
Codabar
Numeric with start/stop — libraries & blood banks
EAN-13
13-digit retail — global standard (except US/CA)
EAN-8
8-digit retail — small product packages
UPC-A
12-digit retail — US & Canada
UPC-E
6-digit compressed — small retail packages
ITF-14
14-digit shipping — outer cartons & pallets
MSI
Variable numeric — warehouse inventory
Pharmacode
Variable numeric — pharmaceutical tracking
How Barcode Scanning Works
Barcode scanning uses image processing algorithms to detect and decode the pattern of parallel bars and spaces in a barcode image.
Image Acquisition
The scanner captures an image from your camera, an uploaded file, a dragged image, or a clipboard paste. The image is rendered to an HTML canvas element for pixel-level access.
Grayscale & Edge Detection
The color image is converted to grayscale and enhanced to make the bar edges more distinct. Edge detection algorithms identify transitions between dark bars and light spaces.
Barcode Localization
The ZBar library scans the image looking for patterns characteristic of barcodes — alternating dark and light parallel lines with specific width ratios. The orientation and location of the barcode are determined.
Symbol Decoding
Once the barcode is located, the pattern of bar and space widths is measured and decoded according to the specific symbology (e.g., CODE128, EAN-13). Each symbology has unique encoding rules for representing characters.
Check Digit Verification
Many barcode formats include a check digit that is mathematically calculated from the preceding digits. The scanner verifies the check digit to ensure the barcode was read correctly and the data is valid.
Result Display
The decoded value is displayed along with the detected barcode type, format details, and scan timestamp. Action buttons allow you to copy, download, or share the result — all without leaving your browser.
Barcode Scanner Use Cases
Practical ways to use barcode scanning in your daily workflow
Retail Product Lookup
Scan EAN-13 or UPC-A barcodes on retail products to identify items, check prices, or verify product information during inventory.
Warehouse Management
Scan CODE128 and ITF-14 barcodes on shipping cartons and pallets for receiving, putaway, picking, and shipping operations.
Inventory Tracking
Use MSI and CODE39 barcodes to track inventory items, assets, and equipment across multiple locations with quick scan-and-verify.
Shipping & Logistics
Scan shipping labels with CODE128 barcodes to track packages, verify addresses, and update delivery status in real time.
Verify Barcode Security
Scan unknown barcodes to preview their content before using them — useful for supply chain security and anti-counterfeiting.
Quick Data Capture
Upload or paste barcode images from screenshots, photos, or emails to instantly extract encoded data without manual typing.
Barcode Types Explained
Understanding different barcode symbologies and where they are used
Retail Barcodes (EAN/UPC)
EAN-13, EAN-8, UPC-A, and UPC-E are the standard barcodes found on retail products worldwide. They encode a product's GTIN (Global Trade Item Number) and are scanned at checkout. These barcodes use fixed-length numeric encoding with check digit verification for reliable scanning.
Logistics Barcodes (CODE128, ITF)
CODE128 and ITF are used in shipping and warehousing. CODE128 is the most versatile barcode standard — it supports the full ASCII character set and offers the highest data density. ITF is specifically designed for outer carton packaging with built-in bearer bars for industrial scanners.
Specialty Barcodes (Pharmacode, MSI, Codabar)
Pharmacode is used for pharmaceutical tracking and tamper-evident packaging, MSI for warehouse inventory control, and Codabar for libraries and blood banks. Each was designed for specific industry requirements and regulatory compliance.
Common Barcode Scanning Problems
Troubleshooting tips for better scan results
- Blurry or out-of-focus images — the barcode bars must be sharp and distinct for reliable decoding
- Insufficient lighting — dark or shadowed barcodes are harder for the scanner to distinguish
- Extreme angles — barcodes scanned at steep angles may appear distorted to the decoding algorithm
- Partial barcode — if the barcode is cut off or partially obscured, the full pattern cannot be read
- Low contrast — light-colored bars on a white background or low-contrast color combinations reduce readability
- Reflection or glare — glossy surfaces can create reflections that obscure the barcode pattern
- Damaged or worn barcodes — scratches, smudges, or fading can make barcodes unreadable
Frequently Asked Questions
Everything you need to know about scanning barcodes with ForgePlug
Why won't a barcode scan even though I can clearly see it's not damaged?
Is the camera feed or an uploaded image sent anywhere?
What barcode formats does it actually recognize?
Can I scan straight from a clipboard paste instead of uploading a file?
Does it keep a record of what I've scanned?
Why some barcodes just won't scan, no matter how you angle the camera
It's almost never the scanner's fault — here's what's actually going on.
I added camera scanning to this tool after realizing the upload-an-image flow was too slow for the actual use case people had — standing in front of a product or a shipping label and just wanting the number, right now. But camera scanning surfaces a specific set of failure modes that image upload mostly avoids, and it's worth understanding why before you assume the barcode itself is broken.
How it works
Under the hood this uses ZBar, compiled to WebAssembly, running entirely in your browser tab. For a 1D barcode (the classic parallel-bars kind — UPC, EAN, Code 128), the decoder is measuring the exact widths of each bar and space along a scan line and matching that pattern of widths against the symbology's known encoding table. For 2D formats like QR codes, it's a different process — the decoder first locates the three large square "finder patterns" in the corners to establish orientation and scale, then reads the grid of small data modules inside. This is why 1D barcodes are far more sensitive to the angle of the scan line than QR codes are — a UPC code tilted 45° relative to the scan line can fail to decode, while a QR code held at almost any rotation still works, because the finder-pattern step corrects for orientation before the actual data gets read.
A real example
A worn shipping label with a Code 128 barcode where the middle third has faded from handling — the bars are still technically visible but the contrast has dropped enough that a phone camera in dim warehouse lighting can't distinguish bar from background reliably. Switching on the flashlight toggle and holding the phone 15cm from the label (closer than feels natural) usually fixes it, because it increases the light hitting the faded area enough to restore contrast. If that doesn't work, uploading a photo taken with a proper camera flash and letting the tool process a static image — rather than a live, slightly-shaky video feed — often succeeds where live scanning fails, since a single sharp frame beats a stream of slightly-blurred ones.
Common mistakes
- Scanning too close or too far. Every barcode format has bar widths tuned to a expected scanning distance. Too close and the camera can't fit the full code in frame with margin; too far and the bars blur below the camera's resolvable width. Start around 15-20cm and adjust.
- Not leaving quiet zone margin around the barcode. If the camera frame or a crop cuts right up against the first and last bars with no white space margin, decoders can misread the boundary. A little empty space on either side of the code, included in frame, actually helps.
- Assuming a scan failure means the barcode is invalid. Most failures are lighting, angle, or distance — not a broken barcode. Before concluding the code itself is bad, try the upload-image path with a well-lit, straight-on photo; if that also fails consistently, then the barcode itself likely has print or damage issues.
Frequently Asked Questions
Everything you need to know about scanning barcodes
Why won't a barcode scan even though I can clearly see it's not damaged?
Is the camera feed or an uploaded image sent anywhere?
What barcode formats does it actually recognize?
Can I scan straight from a clipboard paste instead of uploading a file?
Does it keep a record of what I've scanned?
Tool Overview
A closer look at Barcode Scanner — how it works, who it's for, and where it fits in your workflow.
Retail staff, warehouse teams, and inventory managers live in a world of barcodes — and the fastest way to read one is a scanner that never needs installation. The Barcode Scanner reads codes from your webcam with live continuous scanning, from uploaded images, via drag-and-drop, or straight from your clipboard. It decodes the formats that actually appear in the wild: CODE128, CODE39, CODE93, Codabar, EAN-13, EAN-8, UPC-A, UPC-E, ITF, MSI, and Pharmacode.
Because decoding runs locally using ZBar WebAssembly, the scanner behaves like dedicated hardware without one: point, scan, and the value appears with its format identified. That's useful for spot-checking product labels, verifying a generated barcode before it goes to print, reconciling a shipment, or handling the occasional code your phone's camera app refuses to read. Results can be copied instantly for entry into a spreadsheet or POS system.
Barcodes can contain internal SKUs and serial data you'd rather not share, so all scanning happens in your browser. Images never leave your device, there's no account to create, and the scanner works offline once the page is loaded.
Key Features
Everything you get with this tool, at a glance.
Live Camera Scanning
Continuous webcam decoding for real-world, on-the-go scanning.
Upload & Drag-and-Drop
Read barcodes from saved images, screenshots, or dropped files.
Clipboard Paste
Paste a copied barcode image and get the value instantly.
11 Symbologies
CODE128/39/93, Codabar, EAN-13/8, UPC-A/E, ITF, MSI, Pharmacode.
Format + Copy Results
See the detected format and copy the value in one click.
ZBar, Fully Local
Decoding runs in-browser via WebAssembly — zero uploads.
How to Use Barcode Scanner
Get from zero to done in four quick steps — no account, no learning curve.
Choose your input
Use live camera, upload a photo, drag a file in, or paste from clipboard.
Frame the barcode
Position the code within view — it decodes automatically and continuously.
Check the value
Review the decoded value and detected format before using it.
Copy or use
Copy the value into your spreadsheet, system, or verification check.
Practical Examples
Real input and output pairs so you know exactly what to expect.
Scan a product label
Input
Image containing an EAN-13 barcode
Output
Detected: EAN-13 · value 5901234123457
Verify before print
Input
Image of a CODE128 shipping label
Output
Detected: CODE128 · value 1A-2026-8841
Poor quality image
Input
Blurry, low-contrast barcode photo
Output
No barcode detected — use a sharper image
Guides & Articles
Learn how to get the most out of this tool with our in-depth guides.
Barcode Formats Explained: CODE128, EAN, UPC, and When to Use Each
Not all barcodes are the same — CODE128, EAN-13, UPC-A, Code 39, and ITF-14 each serve different purposes. Here's how to pick the right format.
Barcodes for Inventory and Shipping: A Small-Business Primer
You don't need a warehouse system to benefit from barcodes — SKU labels, shipment tracking, and asset tags all start with a simple one.
Was this tool helpful?
Your feedback helps us improve Barcode Scanner for everyone.
Share this tool
