Free Code 128 Barcode Generator
Code 128 accepts any ascii character (32–126), 1–80 characters. Check digit: modulo 103, added automatically. Keep a quiet zone of 10 modules clear on each side of the printed symbol.
- No signup
- Free commercial use
- No watermarks
When to use Code 128
Code 128 is the default choice for anything you number yourself: shelf locations, asset tags, work orders, kitchen bins, internal cartons. It takes letters as well as digits, adds its own check character, and packs more data into less width than Code 39, so a long reference still fits on a small label.
Read back by our scanner — Our exports were decoded back by our own scanner.
Try a Code 128 example before making your labels
The generator’s example value is SHIP-4471-A. It is demonstration data for testing the tool, not a number assigned to your business. Replace it with the exact reference your stock system, supplier or retailer expects. This format accepts any ascii character (32–126), 1–80 characters; punctuation, missing digits and accidental spaces can matter.
First generate one label and read the human-readable value under it. Then scan the exported image using a reader that supports Code 128. Compare the decoded value with your original record, including any leading zeroes. If the format adds or verifies a check character, use the generator’s validation result rather than adding an arbitrary digit yourself.
From a valid image to a usable printed barcode
A barcode only identifies the value encoded in its bars. Your till or inventory software must already know what that value means. A scan will not automatically create a product record, set a price or register a new retail identifier. Test with the scanner and software that will be used in your actual workflow.
Export SVG for a designer or PDF for a fixed print layout. Keep the blank space around the symbol and avoid squeezing the width to fit a label. Print at actual size, inspect the narrow bars for smudges or missing ink, and test on the final material. A good scan from a monitor does not prove that a glossy, curved or very small printed label will work.
For a batch, keep identifiers as text in your spreadsheet so leading zeroes are not lost. The bulk generator creates files from rows, and the label maker arranges them for sheets or rolls. Try a small batch first and compare several labels against the source file before producing the full run.
Frequently asked questions
Which characters can a Code 128 barcode hold?
Any printable ASCII character from space to tilde — letters, digits, punctuation and spaces. This tool accepts up to 80 characters, because a longer symbol gets physically wide and harder to scan at label size.
Do I need to add a check digit?
No. The modulo 103 check character is part of the symbology and is added automatically when the image is drawn. You type the data you want; nothing is silently appended to the human-readable value.
Can I make many Code 128 barcodes at once?
Yes. The bulk generator takes a CSV or spreadsheet column and returns a ZIP of images with a manifest listing each row and its file, so you can check every line encoded as expected.
Has this output actually been read back?
Our exported Code 128 images were decoded again by our own scanner during testing. That is a read-back on our own software, not a guarantee about your printer, material or handheld device — always scan a printed sample before ordering a batch.