Barcode Decoder
Drop in a barcode image and read its format and content instantly. Upload files, batch-decode many at once, drag and drop, paste from the clipboard, scan live with the camera, or grab a frame from your screen. Multiple barcodes in one image are decoded together. URLs, ISBN book codes, UPC / EAN product codes, and plain text are broken out by type with heuristic link safety hints, and you can export an annotated PNG or bulk JSON / CSV / TXT. All decoding runs in the browser, so inventory photos, shipping labels, and ticket screenshots never leave the device.
- Five input paths: upload, drag and drop, paste, camera, and screen capture
- Covers Code 128 / 39 / 93, EAN-13/8, UPC-A/E, ITF, Codabar, PDF417, Data Matrix, Aztec
- Batch-decode many files at once with a per-file result summary
- Inversion and upscaling retries plus quiet-zone padding and centre crop
- Continuous scan mode: read several barcodes in a row from the camera, deduped
- Auto-tag ISBN and UPC / EAN product codes; flag suspicious URL payloads
- Export annotated PNG, or bulk JSON / CSV / TXT
- Fully local — images and camera frames are never uploaded
Drop barcode images here
PNG, JPG, WebP, GIF, SVG, BMP — drop several at once for batch decoding
Paste is always on — Ctrl + V works after a screenshot
Overview
A local-first barcode decoding workbench with five input paths, multi-symbology coverage, structured payload classification, link safety hints, and multiple export formats.
- 01
Many ways in
File upload, multi-file drag and drop, clipboard paste, live camera, and screen capture. Press Ctrl + V right after a screenshot, or pull a barcode straight from a video call or another browser tab.
- 02
Mainstream symbologies
Code 128 / 39 / 93, Codabar, EAN-13 / 8, UPC-A / E, ITF, PDF417, Data Matrix, Aztec, and QR Code as a fallback. The detected format is always shown alongside the payload.
- 03
Batch image decoding
Select or drop several files and the decoder processes them in order, grouping results by source file. Progress, decoded count, and skipped files are shown live; export the whole batch at the end.
- 04
Multiple barcodes per image
When an image contains several barcodes, the decoder masks each match and keeps scanning, up to 8 iterations, with an 8-region split fallback for tough layouts.
- 05
Retry pipeline
Primary decoding goes through ZXing with try-harder; on a miss the tool retries with inverted colours, quiet-zone padding, downscale and upscale passes, and a centre crop.
- 06
Continuous scanning
In camera mode, switch on continuous scan to read many codes in a row without reopening the camera. Duplicates are filtered automatically, perfect for asset tags, bottle labels, and ticket scans.
- 07
Smart payload classification
URLs split out host / path / query; EAN-13 starting with 978 / 979 is tagged ISBN; UPC / EAN payloads expose their check digit; everything else is shown as plain text.
- 08
Useful exports
Download an annotated PNG for documentation, or bulk-export every match to JSON / CSV / TXT for stocktake or reconciliation pipelines.
How to use
Pick the fastest path in, then let the decoder parse and structure the result.
- 01
Drag images onto the drop area, click Choose files, or press Ctrl + V to paste a screenshot.
- 02
For a live scan, open the camera and pick the front or back lens. To pull a barcode from your screen, click Capture screen and pick the tab, window, or display.
- 03
Enable Find all for composite images, Invert retry for light-on-dark, or Upscale retry for blurry shots.
- 04
Inspect typed fields in the result panel — copy raw text, open the link if it is a URL, or download the annotated PNG.
- 05
For batch jobs, the result list shows progress at the top and offers JSON / CSV / TXT bulk export when finished.
Details
Each path is the fastest in a different situation.
- Screenshot already on disk — upload or drag; drop several at once for a batch run.
- Just screenshotted or copied from chat — Ctrl + V is fastest.
- Decoding a printed label, shipping carton, or another device screen — open the camera.
- Grabbing a barcode from a video call, slide deck, or another browser tab — use Capture screen.
- Composite image with several barcodes — enable Find all before uploading.
- Scanning a batch of badges, tickets, or bottle labels — open the camera and turn on Continuous scan.
- Light bars on a dark background fail — enable Invert retry.
- Compressed shot looks fuzzy — enable Upscale retry.
Use cases
Barcodes appear in retail, logistics, healthcare, ticketing, publishing, asset management, and more. A multi-input, batch-capable, structured decoder handles most of these cases without a round trip to a phone.
-
Check product EAN / UPC
Photograph a package, decode the barcode to digits, then reconcile against the product catalogue, price list, or inventory. EAN-13 with an ISBN prefix is tagged automatically.
-
Log shipping cartons
Batch-decode Code 128 or ITF codes from carton labels, pallet sheets, or waybill screenshots, then export CSV straight into WMS / TMS.
-
Medical and lab sample codes
Read Code 128 / Codabar labels from blood bags, test tubes, or pathology samples and confirm the digits match the LIMS record before the next step.
-
Tickets and ID documents
Pull PDF417 payloads from boarding passes, train tickets, or freight documents — name, seat, tracking number, all in seconds.
-
Asset tag stocktake
Open the camera with continuous scan, sweep a batch of asset stickers, then export CSV for a single reconciliation report.
-
Production nameplates
Decode Data Matrix marks on parts to get part number, batch, and serial, ready to enter into MES or maintenance work orders.
-
QA your barcode generator
Reverse-verify that your generator output decodes cleanly, in the right format, with sufficient quiet zone.
-
Vet suspicious URL barcodes
Some promo or document codes hide shortener URLs as barcodes — the safety hints flag HTTP, IDN homographs, raw IP hosts, and other red flags.
See also
Need to emit a fresh barcode? Use Barcode Generator for that. Working with a QR code instead? See QR Code Decoder . To generate or restyle a QR, jump to QR Code Generator . Dot-and-dash payloads can be read with Morse Code Converter for a full round trip.
Best practices
Barcodes are more sensitive to clarity, quiet zone, and alignment than QR codes. A few habits go a long way.
- Shoot the barcode straight, centred, and large in the frame — perspective distortion is the top failure mode.
- Keep generous white space on both sides of the bars; never crop into the quiet zone.
- Avoid glare, shadows, and the highlight glint from thick plastic film.
- When copying images from chat apps, prefer the original-size option so compression does not crush the bars.
- For composite images with several barcodes, switch on Find all before uploading.
- Read the safety hints before opening a URL — shorteners and raw IPs deserve a second look.
- Live scanning: keep the barcode within the centre 70% of the frame, and enable Continuous scan when handling more than one.
- Want a fresh barcode with the same payload? Jump straight from the result to the barcode generator.
Limitations
Decoding quality depends on the image and the browser — knowing the edges avoids surprises.
- Covers the mainstream 1D and 2D symbologies — exotic industrial formats (full MaxiCode variants, airline BCBP fully expanded) are not parsed beyond the raw text.
- Severely blurry, skewed, glare-covered, or torn barcodes may not decode.
- Only the first frame of animated GIFs is scanned — extract another frame externally if needed.
- SVG inputs are rasterised before decoding; very complex SVGs may lose precision.
- Camera and screen capture rely on getUserMedia / getDisplayMedia. HTTP pages, restricted corporate networks, and older browsers cannot use them.
- Link safety hints are simple heuristics, not a substitute for a real phishing service.
- EAN / UPC check digits are validated and shown, but a valid digit does not prove the code exists in any retailer database.
- Some payloads use non-UTF-8 encoding or custom GS1 Application Identifiers; raw text is shown as-is, and a few characters may look off.
- History lives in the page memory only and is cleared on refresh — nothing is persisted.
FAQ
Common questions about inputs, decode failures, camera and screen-capture permissions, batch jobs, privacy, and exports.
Are images uploaded to a server?
No. Decoding, parsing, and export all happen in the browser. Files, clipboard data, camera frames, and screen-share frames stay in memory — there are no network calls, so sensitive screenshots are safe to use.
Which formats are supported?
Code 128 / 39 / 93, Codabar, EAN-13 / 8, UPC-A / E, ITF (Interleaved 2 of 5), PDF417, Data Matrix, Aztec, and QR Code as a fallback. The detected format is always shown alongside the payload.
How do I decode a barcode from a screenshot?
After taking the screenshot, press Ctrl + V on this page to paste it, or click the Paste button to read the clipboard. You can also drop the image into the drop area or pick it via Choose files.
How does camera scanning work?
Click the camera button, grant camera permission, and pick the front or back lens. Centre the barcode in the frame; the scan stops automatically once a code is read. For several codes in a row, enable Continuous scan.
How do I read a barcode from my computer screen?
Click Capture screen, then choose the tab, window, or display you want to share. The decoder grabs a frame and reads any barcode it finds — ideal for video calls, slides, or barcodes inside another browser tab.
Can I decode many images at once?
Yes. Select or drop several files and the decoder processes them in order, grouping results by source file. Progress, decoded count, and skipped files are shown at the top; export the whole batch as JSON, CSV, or TXT when finished.
What if a single image has multiple barcodes?
Switch on Find all. The decoder masks each detected barcode and keeps scanning the same image, up to eight iterations, then runs an 8-region split fallback. Each result is numbered and outlined on the preview.
My image will not decode — what now?
Common causes are low resolution, blur, glare, severe perspective distortion, a missing quiet zone, or a symbology outside the supported set. Try Invert retry and Upscale retry, recapture with better lighting, or move the barcode closer to the centre of the camera frame.
How are EAN / UPC check digits handled?
When the digit count matches a known symbology, the decoder validates the last digit with the GS1 check-digit algorithm and shows it as a separate field, making input mistakes easier to catch.
How is ISBN detected?
EAN-13 codes starting with 978 or 979 are tagged as ISBN automatically, with the ISBN-13 form shown and the equivalent ISBN-10 derived when possible.
Can I download the image with the bounding boxes?
Yes. Once decoded, click Download annotated PNG and the decoder renders the bounding boxes onto the original image — handy for PRDs, bug reports, or training material.
Can I edit a decoded payload and regenerate the barcode?
Yes. The result panel links to the barcode generator with the original payload ready to edit and re-emit as a new image.
Is the history persisted across sessions?
No. History lives in the page memory only and clears on refresh — so nothing sensitive lingers on shared machines.
What about PDF417, Data Matrix, and Aztec?
These are 2D symbologies (distinct from QR Code) often used in tickets / IDs, industrial parts, and mobile coupons. The decoder reads them directly from images with no special configuration.
Related tools
Adjacent tasks: emit a fresh barcode, decode or generate QR codes, translate Morse and URL encoding.