Barcode Generator & Decoder
Create common barcode formats or inspect an image locally.
Uses the browser's local Barcode Detection API when available.
Create common barcode formats or inspect an image locally.
Uses the browser's local Barcode Detection API when available.
The barcode generator and decoder creates printable Code 128, Code 39, EAN-13 and UPC-A symbols. Choose a format, enter its value and download a sharp SVG or PNG; the page can also inspect an uploaded barcode image when the current browser exposes local barcode detection.
Barcode generation uses the established bwip-js encoder inside your browser, while image detection uses the browser's on-device Barcode Detection API where available. There is no remote recognition endpoint, product lookup or image retention, and unsupported browsers receive an explicit compatibility message.
Code 128 is a compact general-purpose choice, while Code 39 is common for inventory and asset labels. EAN-13 and UPC-A are numeric retail formats with fixed lengths and checksum rules; generating a valid-looking symbol does not allocate a product number or connect it to a catalog.
Use Code 128 for compact letters and numbers, or Code 39 for uppercase asset and inventory identifiers. EAN-13 accepts 12 digits plus a generated checksum, or a complete 13-digit value; UPC-A similarly accepts 11 or 12 digits. The encoder validates each format before rendering it.
SVG preserves exact bar edges at any print size, while PNG is convenient for office software and quick sharing. Keep the bars dark on a light background and avoid resizing a raster image unevenly, because distorted bar widths reduce scanner reliability.
Choose an image and the page asks the browser's BarcodeDetector to inspect it on-device. Supported formats and accuracy vary by browser and operating system; the decoder never falls back to a server when that API is unavailable.
It creates Code 128, Code 39, EAN-13 and UPC-A. Code 128 handles general text, Code 39 normalizes letters to uppercase, and the retail formats require their standard numeric lengths.
That depends on the browser and operating system. Compatible implementations commonly expose formats such as Code 39, Code 128, EAN, UPC and QR, but JsonKit checks the formats actually available.
The Barcode Detection API is not implemented everywhere. Generation through bwip-js still works; use a compatible browser or dedicated scanner for image decoding when the page reports no detector.
No. The browser reads the local image and performs any supported detection on-device. JsonKit does not upload it or look the value up in an external database.
The behaviour of this tool and the claims on this page were checked against the specifications below on . Everything runs in your browser, so the output you see is exactly what the engine produced.
Found a wrong result or an outdated claim? Report an error and it will be re-verified.