Barcode Scanner & Generator
EAN-13 · EAN-8 · UPC-A · UPC-E · Code 128 · Code 39 · ITF-14 · MSI · Pharmacode · Codabar · QR Code
- ✓ Auto check-digit calculation
- ✓ Custom colors & dimensions
- ✓ Download PNG & SVG
- ✓ Scan from image or webcam
- ✓ 100% local — nothing uploaded
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).
Appearance
Bar Width (1–4)
Bar Height (px)
Background
Bar Color
Font Size (px)
Show Text
Error Correction
QR Size (px)
Preview
GeneratedScanning Mode
Upload image containing a barcode
Drop image here or click to browse
PNG, JPG, WebP, GIF supported
Point camera at a barcode or QR code
Recent Scans (session)
Library Status
Frequently Asked Questions
What barcode types does this tool support?
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?
- Assign alternating weights of 1 and 3 to each digit position (odd positions × 1, even positions × 3).
- Sum all weighted products.
- Check digit =
(10 − (sum mod 10)) mod 10
Why does the browser ask for camera permission?
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?
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.