Barcode Generator

Pick a symbology, type the content, and see a live barcode preview as you type. Everything is generated locally in your browser — nothing you type is ever uploaded.

Files never leave your device

Any letters, digits and punctuation (ASCII text).

What This Tool Does

Pick a symbology, type your content, and a barcode renders instantly — entirely in your browser. A WebAssembly module compiled from Rust draws every barcode inside your browser tab, so nothing you type is ever sent to a server.

Tip: Not sure which symbology fits your product? EAN-13 and UPC-A are the ones a retail scanner expects; almost everything else here exists for shipping, asset tracking, or free-text content a retail code can't hold.

How to Use It

Choose a symbology from the list, then type the content into the field below it — each symbology has its own hint about the digits or characters it expects. The preview updates live as you type, and invalid content for the chosen symbology (the wrong digit count, for instance, or an unsupported character) shows a clear message instead of a broken barcode. Download the result as an SVG or a PNG once it looks right.

Choosing a Barcode Symbology

Six symbologies are supported, each suited to a different kind of label:

SymbologyBest forTypical length
EAN-13Retail products, worldwide12–13 digits
UPC-ARetail products, US/Canada11–12 digits
EAN-8Small packages with little label space7–8 digits
Code 128Shipping and logistics labels, free textLetters, digits and punctuation, variable length
Code 39Asset tags, industrial labelsLetters, digits and a few symbols, variable length
ITFCartons and outer shipping casesAn even number of digits, commonly 14

For EAN-13 and UPC-A, either enter the full digit count including your own check digit, or leave it off — the check digit is computed automatically either way, and any mismatch you did supply is flagged rather than silently accepted.

Limits

Barcode content is capped at 256 characters, well beyond what any of these symbologies need for a real-world label. Content that fails a symbology's own rules — wrong length, unsupported characters, a bad checksum — is rejected with a message naming the problem, not a barcode that would fail to scan.

Where to Go Next

Need a 2D code instead of a 1D barcode — for a WiFi network, a vCard contact, or a link? The QR Code Generator builds those with color and error-correction options, downloadable as SVG or PNG the same way. Already hold a barcode or QR code as an image and need to read what's encoded in it? The QR Scanner decodes QR codes straight from an uploaded photo or screenshot.

Frequently asked questions

Is my barcode content uploaded anywhere?
No. Every barcode is drawn by a WebAssembly module running inside your own browser tab, so whatever you type — a product code, an asset tag, a shipping reference — never leaves your device to become a barcode.
Which symbology should I pick for a retail product?
EAN-13 is the standard almost everywhere in the world; UPC-A is its counterpart used mainly in the United States and Canada. Either one is the right choice for a product that needs to scan at a normal point-of-sale register.
Does it calculate the check digit for me?
Yes. For EAN-13, EAN-8 and UPC-A, the check digit is computed automatically from the digits you type, so you can enter just the product's own digits without working out the checksum by hand.
What formats can I download the barcode in?
SVG and PNG. SVG is a scale-free vector format that stays sharp printed at any size, while PNG is rendered at a fixed pixel size — pick whichever suits where the barcode is headed next.
What is Code 128 typically used for?
Shipping and logistics labels, mainly, because unlike the retail symbologies it can encode letters, digits and punctuation in a single code at a variable length rather than a fixed digit count.