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.
Tap any part of the barcode.
That’s all. No name, no price, no maker.
| 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.
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.
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.
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.
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.
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.