What this tool does
The barcode generator turns a product number into an EAN-13 or UPC-A linear barcode: type the digits and generate. Output is vector SVG by default (crisp at packaging print size) with one-click PNG export, plus custom foreground / background colours and bar height.
You never compute the check digit yourself — omit the last digit and it is added for you, or enter all 13 (12 for UPC-A) and the check digit is verified. Everything runs in your browser; nothing is uploaded.
How to use
- Enter the product digits 12 or 13 digits for EAN-13, 11 or 12 for UPC-A. Digits only — anything else is filtered out.
- Tune size and colours For print use module width 2–3 px and bar height above 120 px; screens can be smaller. Keep strong contrast — light bars on a light background will not scan.
- Generate and download Pick SVG for vector use (print, web embedding, infinite zoom), or PNG to drop straight into a chat or document.
FAQ
EAN-13 or UPC-A?
EAN-13 (13 digits) is standard in Europe and most of the world; UPC-A (12 digits) is common in North American retail. UPC-A is really an EAN-13 with a leading zero, encoded identically here and displayed as 12 digits.
What if my check digit is wrong?
You get an explicit error showing the correct check digit. A mismatch means the number itself is wrong, and drawing it anyway would produce a code that fails to scan or scans as the wrong product.
Is Code 128 supported?
Not yet. Code 128 needs its pattern table verified character by character before it can be trusted, so this release ships EAN-13 and UPC-A product barcodes first.
My printed barcode will not scan — why?
Check three things: enough quiet zone, strong bar-to-background contrast, and a module wide enough for your printer (thermal labels want at least 0.33 mm per module). Increasing module width and bar height usually fixes it.
Is anything uploaded?
No. Generation happens in your browser; the digits never leave your device and no request is made.
Should I download SVG or PNG?
Choose SVG for vector output that scales losslessly and survives print; choose PNG to paste straight into a document or chat. The PNG is rasterised from the SVG in your browser — nothing is uploaded.
Limits
EAN-13 and UPC-A only — no Code 128, Code 39 or ITF.
Numeric input only; no barcode decoding (that is a separate direction).
The quiet zone is fixed at 9 modules; PNG pixel size follows module width times total modules, and the height option only affects bar height.