Generate Code 128 barcodes from whichever data source suits you — type them in by hand, pull them from a CSV file, or auto-generate a sequence. Download the result in the format you need: PNG, PDF, or a ZIP archive. Print straight to an Avery label sheet. No sign-ups, no watermarks.
Any letters, digits and symbols, any length — best for internal asset tags.
0 of 0 codes ready
Add values on the left to see your codes here.
Generated in your browser — nothing is uploaded.
Code 128 encodes all 128 ASCII characters — uppercase and lowercase letters, digits, punctuation, control codes — at any length. That range is why it became the default for internal asset tags, work orders, and warehouse labels: whatever numbering scheme you already run, Code 128 carries it unchanged.
The format has three subsets. Subset A covers uppercase letters and control characters, subset B covers upper and lower case plus punctuation, and subset C packs two digits into one symbol, roughly halving the width of a numeric code. The encoder switches between them on the fly and picks the shortest representation for your data, so there is nothing to configure.
Every symbol also carries a mod-103 check character derived from the payload. This generator computes it for you — the value you type is the value a scanner hands back.
GS1-128, formerly UCC/EAN-128, is Code 128 with a convention on top: an FNC1 character in the first position marks the symbol as GS1, and the payload is split into application identifiers such as (01) for a GTIN or (17) for an expiry date. Retail and pharma trading partners require that structure. For internal tagging you want plain Code 128, which is what this tool produces.
Labeling an actual retail product rather than an internal asset? That calls for a UPC or EAN code, not Code 128 — the dedicated UPC barcode generator computes the check digit for UPC-A, UPC-E, EAN-13, and EAN-8.
| Code 128 | Code 39 | |
|---|---|---|
| Character set | All 128 ASCII characters | 43 characters: A-Z, 0-9, and - . $ / + % plus space |
| Lowercase letters | Yes | No — Extended Code 39 aside |
| Density | High — subset C stores two digits per symbol | Low — roughly 30-50% wider for alphanumeric data, well over twice as wide for purely numeric data |
| Check character | mod-103, always present | Optional mod-43, usually omitted |
| Typical use | Asset tags, logistics, healthcare, GS1-128 | Legacy inventory, military and automotive systems |
Code 39 survives mostly because decades-old scanners and label software handle it without setup. For anything new, Code 128 fits more data into less label, validates itself, and accepts the mixed-case IDs that most asset registers use.
Same workflow, different code. No sign-up on any of them.
Create QR codes for links, text, Wi-Fi, email, or phone. Customize colors, add a logo, download PNG or SVG, all in your browser.
Open generatorTurn a list, CSV, or numbered sequence into up to 500 QR codes at once, then export them as PNGs, a ZIP, or a print-ready Avery sheet.
Open generatorThe same batch workflow for linear barcodes. Paste a list or upload a CSV and render dozens at once as PNGs, a ZIP, or an Avery PDF sheet.
Open generatorUPC-A and UPC-E for retail products, plus EAN-13 and EAN-8 for markets outside North America. Check digits computed as you type.
Open generatorRead a code back with your camera or from a photo. QR, EAN, UPC, Code 128, and Data Matrix, decoded in your browser.
Open scannerUpload a photo of a code that won't scan. The tool decodes what survives in the print and rebuilds a clean replacement to reprint.
Open repair toolEdge cases that show up once the labels are printed and scanning starts.
Tagging assets at scale? Talk to sales
Everything renders locally — the value you type is drawn onto an off-screen canvas in your own browser, and the ZIP and PDF libraries only load once you click a download. No barcode data reaches our servers.
Printing Code 128 tags for equipment is the first half of the job; the second is having something to scan them into. UNIO24's asset tagging turns a scan into a full record, and the field guide to labels that stop scanning is worth a read before you commit to a label stock.