About this tool
A barcode encodes text or numbers as a machine-readable pattern of bars that any laser or camera scanner can read. This generator renders CODE128 (any ASCII text), EAN-13, EAN-8 and UPC-A (retail product numbers), CODE39 (alphanumeric labels) and ITF-14 (shipping cartons) live as you type, and validates the digit count and checksum required by each format before drawing anything.
The barcode is drawn as crisp vector SVG on the page, and you can download it as a PNG image for documents and labels or as an SVG file that scales to any print size without blurring. Adjust the bar height and toggle the human-readable text underneath to match your label layout.
Generation happens entirely in your browser with the open-source JsBarcode library — the data you encode never leaves your device, so it is safe to use for internal SKUs, serials or asset tags.
Frequently asked questions
Which format should I choose?
Use CODE128 for general ASCII text or mixed data (accented or non-Latin characters are not supported), EAN-13/EAN-8 or UPC-A for retail product numbers (GTINs), CODE39 for simple alphanumeric labels on older systems, and ITF-14 for outer shipping cartons.
Why does it say my data is invalid?
Retail formats are strict: EAN-13 needs 12 digits (13 with checksum), EAN-8 needs 7 (8), UPC-A needs 11 (12) and ITF-14 needs 13 (14). CODE128 encodes ASCII characters only, so accented or non-Latin text is rejected. CODE39 encodes uppercase letters, digits, space and - . $ / + % — lowercase input is automatically converted to uppercase.
Is the check digit calculated for me?
Yes. Enter the number without its final check digit and it is computed automatically; if you enter the full number including the check digit, it is verified and rejected when wrong.
Should I download PNG or SVG?
SVG is a vector file that stays razor-sharp at any print size, which scanners prefer; PNG is a fixed-resolution image that is easier to paste into documents, spreadsheets and label software.
More tools