Too Much Tools logoToo Much Tools

Barcode Generator

Generate barcodes (Code128, EAN, UPC, Code39 and more) from text, locally.

Local, Runs entirely in your browser, your data never leaves your device.
Loading tool…

Produce a real, scannable barcode from a value

This tool renders a barcode from whatever value you type, in one of eight symbologies: CODE128, CODE39, EAN-13, EAN-8, UPC, ITF-14, MSI or codabar. Retail and inventory codes each expect a specific digit count, so the tool validates the value against the chosen format and reports what's wrong instead of drawing an invalid pattern. Rendering happens with a JavaScript barcode library running in the page itself, so the value you're encoding, which might be an internal SKU, never reaches a server.

How to use the Barcode Generator

  1. Type the value you want encoded into the text field.
  2. Choose a symbology from the format dropdown, such as CODE128, EAN-13 or CODE39.
  3. Toggle 'Show text' to display or hide the human-readable value beneath the bars.
  4. Watch the inline error if the value doesn't fit the format, such as too few digits for EAN-13.
  5. Download the barcode as a PNG for documents or an SVG for print and packaging artwork.

EAN-13 needs 12–13 digits, UPC needs 11–12 digits, and EAN-8 needs 7–8 digits, since those formats include a fixed checksum digit; CODE128 and CODE39 accept arbitrary text instead of a fixed digit count.

SVG output stays crisp at any print size because it's vector markup, while the PNG is rendered at a fixed pixel width and height, which matters if the barcode is going straight into packaging artwork.

Frequently asked questions

Which barcode formats does this generator support?
CODE128, CODE39, EAN-13, EAN-8, UPC, ITF-14, MSI and codabar, selected from a dropdown next to the value field, with the resulting barcode redrawn immediately for whichever format is active.
Why does it say my value is invalid for EAN-13 or UPC?
Those retail formats are fixed-length and include a checksum digit, so EAN-13 needs 12 or 13 digits, UPC needs 11 or 12, and EAN-8 needs 7 or 8; anything else, or non-digit characters, is rejected before drawing.
Should I download the barcode as PNG or SVG?
Use SVG for print, labels or packaging artwork where the barcode needs to scale without blurring, and PNG when you just need a fixed-size image for a document, spreadsheet or web page.
Is the value I'm encoding sent to a server to generate the barcode?
No, the barcode is drawn onto an SVG or canvas element by a JavaScript library running in your browser tab, so the encoded value, including any product code or serial number, stays on your device.