Skip to main content
L
Loopaloo
Buy Us a Coffee
All ToolsImage ProcessingAudio ProcessingVideo ProcessingDocument & TextPDF ToolsCSV & Data AnalysisConverters & EncodersWeb ToolsMath & ScienceGames
Guides & BlogAboutContact
Buy Us a Coffee
L
Loopaloo

Free online tools for developers, designers, and content creators. All processing happens entirely in your browser - your files never leave your device. No uploads, no accounts, complete privacy.

support@loopaloo.com

Tool Categories

  • Image Tools
  • Audio Tools
  • Video Tools
  • Document & Text
  • PDF Tools
  • CSV & Data
  • Converters
  • Web Tools
  • Math & Science
  • Games

Company

  • About Us
  • Contact
  • Blog
  • FAQ

Legal

  • Privacy Policy
  • Terms of Service
  • Disclaimer

Support

Buy Us a Coffee

© 2026 Loopaloo. All rights reserved. Built with privacy in mind.

Privacy|Terms|Disclaimer
  1. Home
  2. Image Processing
  3. Barcode Reader & Scanner
Add to favorites

Barcode Reader & Scanner

Scan barcodes from images or camera. Supports EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ISBN, and more. Search products instantly.

Read barcodes from images or live camera input. Supports common barcode formats including EAN-13, UPC-A, Code 128, Code 39, and QR codes. Upload a photo of a barcode or point your camera at one to decode the value instantly.

Edits stay in your browserMore image processingJump to full guide

Related reading

  • Barcode Symbologies and the Math of Check Digits9 min read

Initializing in your browser…

You might also like

QR Code Reader & Scanner

Scan QR codes from images or using your camera. Supports URLs, WiFi, contacts, emails, phone numbers, and more. 100% offline - no data uploaded.

Color Blindness Simulator

Test how your images and designs appear to people with different types of color vision deficiency including protanopia, deuteranopia, tritanopia, and more

Image Cropper

Crop and trim images with precision visual selection. Features aspect ratio presets (1:1, 16:9, 4:3), free-form cropping, grid overlays, and pixel-perfect adjustments for professional results.

Barcode Reader & Scanner: a worked example

You need the digits behind a product barcode in a photo to look up the item.

Input

package.jpg (EAN-13 barcode)
Barcode Reader & Scanner produces

Decoded

Type: EAN-13   Value: 4006381333931

The reader detects the symbology and decodes the bars to their numeric value, including the check digit, so you can verify or look up the product. Multiple formats (EAN, UPC, Code 128, QR) are recognised automatically.

About the Barcode Reader & Scanner

Read barcodes from images or live camera input. Supports common barcode formats including EAN-13, UPC-A, Code 128, Code 39, and QR codes. Upload a photo of a barcode or point your camera at one to decode the value instantly.

How to use

  1. 1Upload an image with a barcode, or scan using your camera
  2. 2The tool detects and decodes the barcode automatically
  3. 3View and copy the decoded value

Where this helps

  • Product lookup

    Scan a product barcode to get its identifier for price comparison or inventory tracking.

  • Inventory management

    Decode barcodes from photos of warehouse labels or shipping packages.

  • Document processing

    Extract barcode values from scanned documents or forms.

Key features

  • Supports EAN-13, UPC-A, Code 128, Code 39, and more
  • Image upload and live camera scanning
  • Instant decode with barcode type identification
  • Copy decoded value to clipboard

How it works

The Barcode Reader decodes 1D linear barcodes through a three-stage fallback pipeline rather than a single library. It first tries the browser's native BarcodeDetector API (available in Chrome) configured for nine symbologies: ean_13, ean_8, upc_a, upc_e, code_128, code_39, code_93, codabar, and itf (Interleaved 2 of 5). If the native API is unavailable or finds nothing, it loads html5-qrcode via scanFileV2, which has stronger Code-128 handling. As a final fallback it loads @ericblade/quagga2 and re-attempts the decode three times with progressively different locator patch sizes (medium, then large, then small, each with halfSample disabled and locate enabled, inputStream size 800), since the right patch size depends on how large the barcode appears in the frame. Quagga is run with nine readers (ean_reader, ean_8_reader, upc_reader, upc_e_reader, code_128_reader, code_39_reader, code_93_reader, codabar_reader, i2of5_reader). When all three stages fail it reports 'No barcode found in the image' and suggests a clearer image or different angle.

Beyond raw decoding, the tool classifies what it scanned and links out for lookup. An EAN-13 value beginning with 978 or 979 is recognized as a book and labeled 'Book (ISBN-13)', a UPC-A code (or an EAN-13 starting with 0) is labeled as a retail product, and other EAN-13/EAN-8 values are tagged as international products; each result gets a 'Search Product' button that opens a Google query (e.g. 'ISBN 978...', 'UPC ...', 'EAN ...'). The decoded value is also re-rendered as a clean barcode image using JsBarcode (width 2, height 80, value displayed), mapping the scanned format back to JsBarcode's EAN13/EAN8/UPC/UPCE/CODE128/CODE39/CODE93/codabar/ITF formats, with a CODE128 fallback for any value the strict format rejects. Every scan is appended to a 'Recent Scans' history capped at the last 20 entries, each copyable to clipboard.

A camera mode is included for live scanning: it requests getUserMedia with facingMode 'environment' (rear camera) at an ideal 1280x720, draws each video frame to a canvas in a requestAnimationFrame loop, and runs the same detection on the frame (BarcodeDetector first, Quagga2 as fallback), stopping the stream on the first successful read. A SwitchCamera control toggles between the rear ('environment') and front ('user') cameras. All scanning happens locally in the browser via these client-side libraries and the canvas/Image APIs; images and camera frames are processed in-page and not uploaded. Because these are 1D linear symbologies with no error correction, the in-app error tip notes that the barcode should be clearly visible, straight, and undamaged for a reliable read.

Frequently asked questions

What barcode formats are supported?

EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ITF, and QR codes.

Can it read damaged or blurry barcodes?

It works best with clear, well-lit images. Moderate damage or blur may still decode, but heavily degraded barcodes may fail.

Does it work with 2D barcodes?

QR codes are supported. For other 2D formats like Data Matrix, results may vary.

Related tools and how they differ

  • Barcode Generator: Creates 1D barcodes across 20+ symbologies with check-digit math and custom colors; use it to make a barcode rather than scan one.
  • QR Code Reader & Scanner: Decodes QR codes from image or camera and classifies URL, WiFi, email and geo results; use it for 2D QR squares, not striped product codes.
  • QR Code Generator: Generates QR codes from text, WiFi, vCard and payment data with logos and styling; use it to produce a QR rather than read a barcode.

Further reading

  • Barcode Symbologies and the Math of Check Digits9 min read

Private by design

Images are decoded, edited, and exported entirely inside this browser tab. No originals, exports, or metadata are uploaded.