Skip to content
ForgePlug — Logo
barcode100% Browser-BasedUpdated Jul 2026

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.

Choose Scan MethodLoading Scanner...

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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

Is my image or camera feed sent to a server?
No. All barcode scanning happens entirely in your browser using the ZBar WebAssembly library. Your camera feed, uploaded images, and clipboard data never leave your device. This is a core privacy feature of ForgePlug — everything is local.
What barcode formats can the scanner read?
The scanner supports 11 barcode formats: CODE128 (shipping & logistics), CODE39 (government & military), CODE93 (compact alphanumeric), Codabar (libraries & blood banks), EAN-13 (global retail), EAN-8 (small retail), UPC-A (US/Canada retail), UPC-E (compressed retail), ITF (shipping containers), MSI (warehouse inventory), and Pharmacode (pharmaceutical tracking). The format is automatically detected and displayed with each scan result.
Can I scan barcodes using my camera?
Yes. Click the Camera button to open your webcam or mobile camera. The scanner will continuously scan the video feed and automatically detect barcodes. You can pause and resume scanning at any time. On mobile devices with multiple cameras, you can switch between front and rear cameras. Flashlight support is available on supported devices for scanning in low-light conditions.
What image formats are supported for upload?
You can upload or drag-and-drop PNG, JPG, JPEG, WEBP, and GIF images. For best results, use clear, well-lit images where the barcode is at least 300 pixels wide and the bars are sharp and not distorted.
Can I paste an image from my clipboard?
Yes. You can copy any barcode image to your clipboard (from any application) and paste it directly into the scanner using Ctrl+V / Cmd+V. The scanner will immediately decode the barcode from the pasted image. This requires the browser's Clipboard API, which is supported in modern browsers.
Why didn't my barcode scan?
Common reasons include: the barcode is too small or blurry, the image is overexposed or has strong shadows, the barcode is partially cut off or damaged, the image was taken at an extreme angle, or the barcode uses an unsupported format. Try re-taking the image with better lighting and holding the camera steady. For camera scanning, ensure good lighting and hold the barcode flat and parallel to the camera.
Is my scan history saved?
Scan history is maintained only for the current browser session in memory. Once you close the tab or navigate away, the history is cleared. You can manually clear the history at any time using the Clear button. No history is stored on any server or in any persistent storage.
What browsers are supported?
The Barcode Scanner works in all modern browsers including Chrome, Firefox, Safari, Edge, and Opera. Camera scanning requires a browser that supports the MediaDevices API (getUserMedia). The ZBar WebAssembly library works in all modern browsers that support WebAssembly — which includes all major browsers released since 2017.
Can I scan multiple barcodes at once?
The scanner processes one frame at a time and returns all detected barcodes in the image. If an image contains multiple barcodes, the scanner will return the most prominent one first. For camera scanning, you can move the camera to scan different barcodes in sequence.
Can I use this offline?
Yes. Once the page has loaded and the ZBar WebAssembly module has been fetched, the barcode scanner works completely offline. No internet connection is needed for scanning, as all processing happens locally in your browser.
4.8 · Trusted by Developers

Frequently Asked Questions

Everything you need to know about scanning barcodes

Is my image or camera feed sent to a server?
No. All barcode scanning happens entirely in your browser using the ZBar WebAssembly library. Your camera feed, uploaded images, and clipboard data never leave your device. This is a core privacy feature of ForgePlug — everything is local.
What barcode formats can the scanner read?
The scanner supports 11 barcode formats: CODE128 (shipping & logistics), CODE39 (government & military), CODE93 (compact alphanumeric), Codabar (libraries & blood banks), EAN-13 (global retail), EAN-8 (small retail), UPC-A (US/Canada retail), UPC-E (compressed retail), ITF (shipping containers), MSI (warehouse inventory), and Pharmacode (pharmaceutical tracking). The format is automatically detected and displayed with each scan result.
Can I scan barcodes using my camera?
Yes. Click the Camera button to open your webcam or mobile camera. The scanner will continuously scan the video feed and automatically detect barcodes. You can pause and resume scanning at any time. On mobile devices with multiple cameras, you can switch between front and rear cameras. Flashlight support is available on supported devices for scanning in low-light conditions.
What image formats are supported for upload?
You can upload or drag-and-drop PNG, JPG, JPEG, WEBP, and GIF images. For best results, use clear, well-lit images where the barcode is at least 300 pixels wide and the bars are sharp and not distorted.
Can I paste an image from my clipboard?
Yes. You can copy any barcode image to your clipboard (from any application) and paste it directly into the scanner using Ctrl+V / Cmd+V. The scanner will immediately decode the barcode from the pasted image. This requires the browser's Clipboard API, which is supported in modern browsers.
Why didn't my barcode scan?
Common reasons include: the barcode is too small or blurry, the image is overexposed or has strong shadows, the barcode is partially cut off or damaged, the image was taken at an extreme angle, or the barcode uses an unsupported format. Try re-taking the image with better lighting and holding the camera steady. For camera scanning, ensure good lighting and hold the barcode flat and parallel to the camera.
Is my scan history saved?
Scan history is maintained only for the current browser session in memory. Once you close the tab or navigate away, the history is cleared. You can manually clear the history at any time using the Clear button. No history is stored on any server or in any persistent storage.
What browsers are supported?
The Barcode Scanner works in all modern browsers including Chrome, Firefox, Safari, Edge, and Opera. Camera scanning requires a browser that supports the MediaDevices API (getUserMedia). The ZBar WebAssembly library works in all modern browsers that support WebAssembly — which includes all major browsers released since 2017.
Can I scan multiple barcodes at once?
The scanner processes one frame at a time and returns all detected barcodes in the image. If an image contains multiple barcodes, the scanner will return the most prominent one first. For camera scanning, you can move the camera to scan different barcodes in sequence.
Can I use this offline?
Yes. Once the page has loaded and the ZBar WebAssembly module has been fetched, the barcode scanner works completely offline. No internet connection is needed for scanning, as all processing happens locally in your browser.

Share this tool

Share
Runs in your browser100% privateNo data uploaded