Code 128 Barcode Generator

Make Code 128 barcodes for SKUs, inventory, shipping and Amazon FBA labels. It takes letters, numbers and symbols, and picks the most compact subset (A, B or C) for you.

Letters, numbers and symbols (any printable ASCII)

Change the bar width, height and text here. The barcode on the left is drawn at the size it will print, so at 100% zoom it should match a ruler held to the screen.

PNG and JPG files store their resolution, so Word, Canva and label software place them at this size.

Colours

Dark bars on a light background scan best. Most scanners use red light, so red, orange and yellow bars read as blank.

What is Code 128?

Code 128 is the most widely used barcode outside shop tills. It can hold all 128 ASCII characters (upper and lower case letters, digits and punctuation), it is compact, and every code ends in a check character, so it rarely scans wrong. Warehouses, couriers, hospitals and Amazon FBA labels all use it.

CharactersAll printable ASCII: A–Z, a–z, 0–9, symbols and space
LengthAny, but keep it under about 30 characters for easy scanning
Check characterBuilt in (modulo 103), added automatically and not printed
Quiet zone10 bar widths each side
Used forSKUs, inventory, shipping, FNSKU labels, asset tags, LPNs

Code 128 A, B and C

Code 128 has three character sets, and a barcode can switch between them partway through:

  • Code 128A: capital letters, digits, symbols and control characters.
  • Code 128B: capital and lower-case letters, digits and symbols. The usual choice for text.
  • Code 128C: digits only, packed two to a symbol, so long numbers come out almost half as wide.

You don't need to pick. This generator chooses the shortest mix automatically: a value like SKU-10442-BLK uses set B, and 12345678 uses set C. Every scanner reads the result the same way, whichever sets are used.

How to make a Code 128 barcode

  1. Type your SKU, part number or text. Lower-case letters and symbols are fine.
  2. Set the bar width: 0.25–0.33 mm for small labels read up close, 0.5 mm or more for cartons scanned across a warehouse.
  3. Optional: type a different line to print under the bars, such as a product name, using Text under the bars.
  4. Download, or make many at once with the bulk generator.

Code 128 or Code 39?

Code 128 holds more kinds of characters and is roughly a third narrower for the same data. Use Code 39 only if an existing system or customer requires it. See Code 128 vs Code 39.

Code 128 is not GS1-128

GS1-128 is a Code 128 with a special start character and structured data like GTINs, batch numbers and expiry dates. If a retailer asks for a GS1-128 or SSCC label, use the GS1-128 generator.

Pallet racking in a distribution warehouse
Pallet racking in a distribution warehouse.

Questions

  • Any printable ASCII character: upper and lower case letters, digits, punctuation and spaces. It can't hold accented letters or emoji.

  • None. We switch between A, B and C automatically to keep the barcode as short as possible. Scanners decode them all the same.

  • There's no fixed limit, but the barcode gets wider with every character. Above about 30 characters, consider Data Matrix.

  • Yes. Amazon FBA labels use Code 128. Our FNSKU label generator sets them up at the right size.