Code 128 Barcode Generator

Turn a list of SKUs, bin locations or order numbers into Code 128 barcodes in one go. Letters, numbers and dashes all work. Download a print-ready PDF for your label sheet.

Runs in your browser. Nothing is uploaded.
1

Your data

2

Barcode

3

Label sheet

Printer alignment

Print one test page on plain paper, hold it over a label sheet, and adjust if the barcodes sit off-centre. "Skip used labels" starts printing after labels already peeled off a partly used sheet.

4

Download

1 / 1

    What Code 128 is good for

    Code 128 encodes the full set of ASCII characters, so it can hold codes such as TS-BLK-M or PO-2024-0183 without any conversion. It is denser than Code 39, which means a shorter barcode for the same text, and it has a built-in check character so scanners rarely misread it.

    That makes it the usual choice for internal SKUs, warehouse bins, shipping and tracking numbers, asset tags and library or file labels. It is not meant for retail checkout: for products sold in shops, use EAN-13 or UPC-A.

    How to make Code 128 barcodes in bulk

    1. Paste one code per line. Add a Tab or comma and some text if you want a product name printed under the barcode.
    2. Keep Code 128 selected as the barcode type.
    3. Pick your label sheet, for example A4 40 per sheet or Avery 5160, or a thermal roll.
    4. Click Download PDF and print at 100% scale.

    Need numbered codes such as INV-0001 to INV-0500? Use the Sequence tab to create them.

    Can Code 128 contain letters?

    Yes. Code 128 supports upper and lower case letters, digits and punctuation, which is why it is popular for SKUs and tracking numbers.

    How long can a Code 128 barcode be?

    There is no fixed limit, but every extra character makes the barcode wider. For small labels, keep codes under about 20 characters so the bars stay wide enough to scan.

    Is Code 128 the same as GS1-128?

    GS1-128 is Code 128 with GS1 application identifiers, used on shipping cartons. This tool makes plain Code 128, which is what most internal labels need.