free tool · code 128 barcode generator · nothing leaves your browser
Code 128 barcode generator
The everyday barcode for labels used inside your company.
Code 128 holds letters, numbers and symbols, packs them tighter than older barcodes, and reads on almost every scanner. Make one Code 128 barcode or a whole run from your Excel list, then download it or print labels. Free, and nothing you type leaves your browser.
Letters, numbers and symbols. The best all-round choice for labels used inside your company.
Printing opens your browser's print window. Choose your label printer, or “Save as PDF” to get a PDF of the labels. Set the scale to 100% (“actual size”), and print one sheet on plain paper first to check it lines up.
loading the generator…
what code 128 is
What a Code 128 barcode holds
Code 128 is a linear barcode: a row of bars and spaces read from side to side. It gets its name from the 128 characters it can carry, which cover everything on an English keyboard.
- Characters
- All 128 ASCII characters: capital and small letters, digits, spaces and punctuation
- Length
- No fixed length. Each character adds width, so short values make the best labels
- Check character
- Always included, calculated for you. Scanners check it, so a misread is rejected instead of typed in
- Long numbers
- Packed two digits at a time, so a 12-digit number makes a shorter barcode than 12 letters would
- Scanners
- Every linear (1D) and 2D barcode scanner, and phone apps
- Standard
- ISO/IEC 15417
where manufacturers use it
Where manufacturers use Code 128
Code 128 suits any label where you choose the numbering yourself:
Job cards and work orders. Scan the job number at each station to record where a job is.
Bins, racks and stock locations. A short location code, such as A-12-03, scans faster than reading it out.
Raw material lots and heat numbers. So you can tell which lot went into which job when a customer asks.
Serial numbers on finished goods. Use “Number a run” in the generator, or the bulk barcode generator, to make hundreds in order.
Internal part numbers and drawings. Part numbers usually mix letters, digits and dashes, which Code 128 handles.
For products sold in shops or on marketplaces, use an EAN-13 barcode with GS1 numbers instead.
code 128 or code 39
Code 128 or Code 39?
Both are linear barcodes, and most scanners read both. Code 128 is the better choice unless a customer or an older system asks for Code 39.
| Code 128 | Code 39 | |
|---|---|---|
| Characters | All 128 ASCII characters, including small letters | 43: capitals, digits, space and - . $ / + % |
| Width for the same text | Shorter, and much shorter for long numbers | Wider |
| Check character | Always included | Optional, and rarely used |
| In Excel with a font | Needs a formula or add-in to calculate the check character | Works with a free font and asterisks around the value |
| Choose it when | You decide the format: most internal labels | A customer, an older scanner or an older system asks for it |
More on the older code on the Code 39 barcode generator.
code 128 and gs1-128
Code 128 and GS1-128
GS1-128 is Code 128 with a special start character and data written in GS1's format: each piece of data sits behind a code in brackets, such as (01) for the product number, (10) for the batch and (17) for the expiry date. Scanners and buyers' systems can then split the label into its fields.
Use plain Code 128 for your own labels. Use GS1-128 when a customer's label specification asks for it, usually on cartons and pallets. It's in the generator's list of code types, and it needs a product number issued to your company by GS1.
labels that scan
Make it scan: size and margins
Leave the margins. Code 128 needs a blank margin of at least ten narrow-bar widths on each side. The generator adds it; don't crop it off when you place the code on a label.
Shorten the value, not the bars. If the code is too wide for the label, use a shorter value or a wider label. Squeezing the bars below what your printer can print cleanly is the most common reason a Code 128 label won't scan.
Keep it tall enough. Short, wide codes are hard to scan by hand. On a small label, give the bars at least a third of the label's height.
Print the text under it. So people can still read the value when there's no scanner around.
Test it where it lives. Print a few, stick them on the bin or part, and scan them again after a few days.
code 128 in excel
Code 128 barcodes from Excel
Excel can't draw a Code 128 barcode with a font alone. A Code 128 font needs a formula or an add-in that calculates the check character for every cell, or the codes won't scan.
The quicker way: copy the column from Excel, paste it into the generator above under “Many labels”, and print the labels or download all the codes as images. A second column prints above each code as label text. Our guide on how to generate barcodes for your shop floor covers Excel, Word mail merge and printers in more detail.
more free barcode tools
Other codes, same free tool
questions — and what the scan connects to
A job number is only a key.
The scan tells you it's job 1142. What's true about job 1142 today, the latest drawing, the customer's change, how far along it is, usually sits somewhere else: an email, a WhatsApp message, someone's Excel sheet.
We build custom systems for small and medium manufacturers that bring it into one place, and your team uses them through Youno, a work chat app as simple as WhatsApp. Then a scan opens everything known about the job.
Book a callWhat can a Code 128 barcode hold?
Any of the 128 ASCII characters: capital and small letters, digits, spaces and punctuation such as - / . and #. It can't hold letters outside English, such as Hindi or Gujarati text. For those, use a QR code.
How long can a Code 128 value be?
There's no fixed limit, but every character makes the code wider, and a code that's squeezed to fit a small label stops scanning. As a rough guide, about 10 to 12 letters, or about 20 digits, fit a 50 mm wide label at a size most scanners read. If yours won't fit, use a shorter value, such as a job number instead of a description.
Do I need to add a check digit?
No. Code 128 always carries a check character, and the generator calculates it for you. It isn't printed in the text under the code, and scanners check it and leave it out of what they type.
Can I make Code 128 barcodes in bulk?
Yes. Switch to “Many labels” and paste a column from Excel, upload a CSV or number a run, such as LOT-0001 to LOT-0500. Then print them all, or download every code in one ZIP.
Can I use Code 128 on products sold in shops?
Not on its own. Billing counters and marketplaces expect an EAN-13 barcode with a number issued to your company by GS1 India. Code 128 is for labels used inside your company and for labels your customer specifies.
Code 128 or QR code?
Code 128 if people will scan with a barcode scanner, which every scanner reads. A QR code if they'll scan with a phone, or if the code needs to hold a web link.