SilentCanoe
/
B
Barcode Scanner & Generator
100% Local

Barcode Scanner & Generator

EAN-13 · EAN-8 · UPC-A · UPC-E · Code 128 · Code 39 · ITF-14 · MSI · Pharmacode · Codabar · QR Code

🔒

All barcode generation and scanning runs entirely in your browser. Your camera feed and images never leave your device.

Barcode Type

Most common retail product barcode — 13 digits (12 + 1 check digit).

Auto check-digit calculated — enter 12 digits for EAN-13.

Appearance

Bar Width (1–4)

2

Bar Height (px)

100

Background

Bar Color

Font Size (px)

14

Show Text

Preview

Barcode preview will appear here

Frequently Asked Questions

What barcode types does this tool support?
Generation: EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ITF-14, MSI, Pharmacode, Codabar, and QR Code. All powered by JsBarcode (1D) and QRCode.js (QR), both running 100% locally in your browser.

Scanning: QR codes (via jsQR — from both image upload and webcam), and 1D barcodes including EAN-13, EAN-8, UPC-A, Code 128, Code 39, ITF-14 (via Quagga, from image upload). For webcam, only QR scanning is supported in real-time; upload an image for 1D barcode scanning.
How is the check digit calculated for EAN and UPC barcodes?
EAN-13, EAN-8, UPC-A, and ITF-14 all use the same modulo-10 (Luhn-variant) algorithm:
  1. Assign alternating weights of 1 and 3 to each digit position (odd positions × 1, even positions × 3).
  2. Sum all weighted products.
  3. Check digit = (10 − (sum mod 10)) mod 10
For example, EAN-13 "590123412345" → sum = 57 → check digit = 3, giving "5901234123457". This tool calculates and appends the check digit automatically — just enter the payload digits.
Why does the browser ask for camera permission?
The Webcam Scan mode uses the browser's getUserMedia API to access your camera for real-time QR code detection. The permission is requested from your operating system directly by the browser — no video data is ever transmitted anywhere. All processing happens on your device via JavaScript. You can revoke camera permission at any time in your browser settings. If you prefer not to use the camera, use the Image Upload mode instead.
When should I download PNG vs SVG?
PNG is a raster (pixel) format — ideal for embedding in Word documents, email signatures, most label design software, or anywhere a fixed-resolution image is required. Bars may appear slightly blurry at very large sizes.

SVG is a vector format — infinitely scalable without quality loss. Ideal for print production workflows, laser engravers, Illustrator/Inkscape, or web pages where the barcode may be displayed at many different sizes. Use SVG whenever your output format supports it.
Which barcode type should I use for my use case?

EAN-13 / EAN-8: Retail product packaging sold internationally. EAN-13 for standard products; EAN-8 for small packaging where space is limited.

UPC-A / UPC-E: Retail products sold primarily in North America. UPC-E is a compressed 6-digit form for small packages.

Code 128: Best general-purpose alphanumeric barcode — logistics, shipping labels, inventory, internal tracking. High data density.

Code 39: Older alphanumeric standard common in automotive, defence, and healthcare. Larger than Code 128 for the same data.

ITF-14: Outer shipping cartons (cases of products). Encodes a GTIN-14 with a built-in bearer bar frame.

QR Code: URLs, WiFi credentials, contact cards, or any rich text data up to 4296 characters. Two-dimensional — scannable from any angle, robust to partial damage.