Compress PDF
Generated on your device – your codes and serial numbers are never uploaded.

Quick answer: type or paste the text – a serial number, location code, order number or anything else in Latin characters – and the barcode appears instantly. Code 128 chooses the shortest encoding by itself, so long numbers stay compact. Download it as PNG, SVG or PDF, or create a whole batch from a list.

Why Code 128 is the default choice for internal labels

Code 128 can encode all 128 ASCII characters and it is dense: it has three character sets and switches between them in the middle of a barcode. Set C stores two digits per symbol, so “00047223” takes only four symbols. That makes Code 128 roughly half the width of Code 39 for numeric data, which is why most courier labels, warehouse location tags and laboratory sample tubes use it.

Code setHoldsUsed for
ACapital letters, digits, symbols and control charactersData with tabs or carriage returns for scanners that type into forms
BCapital and small letters, digits, symbolsNormal text
CPairs of digits 00–99Long numbers – twice as compact

Every Code 128 barcode ends with a check character (modulo 103) that scanners use to reject misreads. It is not printed in the text line and you never need to calculate it.

How to create a Code 128 barcode

  1. Type the data. Anything from “A-17-03” to “SN 0047 2231 EU”. Upper and lower case, digits, spaces and punctuation all work.
  2. Adjust size. Use a wider bar width for labels read from a distance or printed on rough paper; 0.25–0.33 mm is typical for office labels.
  3. Check the scan test. The tool reads the barcode back and shows what a scanner will see.
  4. Print or batch. Download one file, or paste a list into “Make many barcodes at once” to get a label sheet.

Label size cheat sheet

  • Office laser labels: bar width 0.25–0.33 mm, height at least 10 mm.
  • Thermal printers (203 dpi): choose 0.375 mm (3 dots) or 0.25 mm (2 dots) so every bar is a whole number of dots – the size line under the preview shows the real width.
  • Read from a few metres: 0.5 mm or more and a taller barcode.
  • Keep at least 10 bar widths of white on both sides.

If your labels go into the GS1 supply chain (pallets, cartons for retailers), use GS1-128 instead – it is Code 128 with a special start that tells scanners the data follows GS1 rules.

Frequently asked questions

Can Code 128 encode lower-case letters?

Yes, through code set B. Unlike Code 39 it needs no special “full ASCII” mode.

How long can a Code 128 barcode be?

There is no fixed limit, but scanners struggle beyond about 40–50 characters, and the barcode gets very wide. For long text use Data Matrix or QR Code.

Why do I not see the check digit?

The Code 128 check character is always added in the bars but never printed in the text. Scanners check it and remove it.

Can it hold Urdu, Arabic or emoji?

No – Code 128 is limited to Latin characters. Use Data Matrix, PDF417 or a QR code for other scripts.

Is a Code 128 barcode accepted at a retail till?

Retail products need EAN-13 or UPC-A. Code 128 is for internal and logistics use.

Can I generate sequential labels?

Yes. Prepare the list (for example in Excel), paste it into the bulk box and download a ZIP or a printable label sheet.