MAKEABARCODE.ORG

Code 128 Barcode Generator

Type any text, numbers or symbols to get a Code 128 barcode. The checksum is added for you, and runs of digits are packed two per character to keep the barcode short.

Pasted from a spreadsheet? Only the first column is used.

Make a numbered series

The bars say

A barcode holds one thing: the number

What’s printed

What the scanner gets

That’s all. No name, no price, no maker.

Looked up in the store’s product list

5012345678900…
0712345678911…

The bars are a typeface for a number, so anyone can draw them for any number, and this page does. What turns a retail number into your product is that it is registered to you: GS1 licenses company prefixes, and shops and marketplaces check them. For your own inventory, nobody needs to know. Use Code 128 and number things however you like.

The white space is part of it

keep clearkeep clear

A scanner finds a barcode by its blank margins. Text or a box edge too close to the bars, and it can’t tell where the barcode starts.

Scanners see in red

reads looks blank

Most scanners light the barcode with red. Red bars reflect it just like white paper does, so to the scanner they aren’t there. Black on white is safest.

Don’t cut the height

reads at an angle beam misses it

A tall barcode reads even when the beam crosses it at an angle. A squashed one only reads when the scanner is lined up exactly.

What Code 128 is for

Code 128 is the usual choice for barcodes you use yourself: inventory and asset tags, bin locations, order and shipping references, library and lab labels. It can hold upper and lower case letters, digits and punctuation, and it’s denser than Code 39, so the same value makes a shorter barcode.

It has three character sets. Set B covers ordinary text; set C packs pairs of digits into one character. This generator picks the sets for you and switches to set C for long digit runs, which is why a long number stays compact. You can see the switch in the diagram above. A mod-103 checksum is always added inside the barcode; it isn’t shown in the text underneath.

Limits

This page makes plain Code 128 from printable characters (letters, digits, space and standard punctuation). It does not make GS1-128 barcodes with application identifiers such as (01) or (10), which some retailers require on shipping labels.