Free generator
Free Code 128 barcode generator
Code 128 is the usual choice for labels that stay inside your business: SKUs, shelf and bin locations, asset tags, work orders. Type letters, digits or symbols and download an SVG or a PNG for your label printer.
- Free to use
- No sign-up
- No watermark
- Personal and commercial use
- Runs in your browser
Letters, digits and common symbols (printable ASCII). Best general choice for internal labels. When to use Code 128
Ready.
The preview also updates as you type.
Preview · printed sizeScale in mm
Black on white only: colored bars and backgrounds are a common cause of scan failures. Everything is drawn in your browser; nothing you type is sent anywhere.
The width of the narrowest bar. GS1 sets no size for internal codes; pick one your scanners read comfortably. Size and print settings explained
SVG downloads at the printed size above, for design and label software. PNG for a 300 dpi printer (12 dots/mm): 4 printer dots per module, so X is 0.333 mm and the bars 12.83 mm tall; print it at 100% scale. Free for personal and commercial use, with no watermark. Test a printed sample with the scanner that will read it.
- Free to use
- No sign-up
- No watermark
- Personal and commercial use
- Runs in your browser
Code 128 at a glance
| Encodes | Any ASCII text; the generator takes the printable characters, space to ~ |
|---|---|
| Code sets | A: capitals, digits, punctuation and control codes · B: capitals, lowercase, digits, punctuation · C: digit pairs 00–99 |
| Symbol characters | 11 modules each, 3 bars and 3 spaces; the stop character is 13 modules |
| Check character | Modulo 103, always included, never printed in the text |
| Density | In code set C two digits share one character, 5.5 modules per digit |
| Quiet zones | At least 10X on each side (GS1’s rule for GS1-128, the same symbology) |
| Size | Set by your application; GS1 sizes apply only to GS1-128 |
| Specification | ISO/IEC 15417; the GS1 General Specifications describe it in section 5.4 |
The details are from section 5.4 of the GS1 General Specifications, which describes Code 128 because GS1-128 is a subset of it. A Code 128 symbol that starts with FNC1 is always GS1-128; one that does not is plain Code 128, which is what you want for internal codes. Zebra’s DS2208 scanner guide, for example, lists Code 128 as enabled by default, with lengths of 1 to 55 characters.
A printed example
BIN-A12-0042: 156 modules of bars plus 10-module quiet zones, 176 modules, so 58.1 mm wide at X 0.330 mm.What each setting does for Code 128
- Data. Printable ASCII only (no accents or emoji), up to 80 characters; long barcodes get hard to scan. The generator picks the code sets and adds the check character.
- X-dimension. Starts at 0.330 mm. No GS1 range applies; choose what your scanners read and your printer can make in whole dots.
- Bar height. Starts at 12.7 mm (half an inch).
- Quiet zone. 10 modules each side, with a warning below that.
- Text. Optional on internal labels, but it lets people key the code in when a scan fails.
Sizes for label printers
At 203 dpi (8 dots per mm) choose X = 0.250 mm (2 dots), 0.375 mm (3 dots) or 0.500 mm (4 dots); at 300 dpi (12 dots per mm) 0.250, 0.333 or 0.417 mm. The PNG download rounds to whole dots for you and the readout shows the result. Digits-only values are much shorter: 0123456789 needs 110 modules with its quiet zones, against 176 for BIN-A12-0042.
Common mistakes
- Using Code 128 for products sold in stores. A checkout looks for a GTIN in a UPC or EAN symbol; SKU vs UPC explains the difference.
- Expecting the scanner to send the check character. It never does; it only verifies it.
- Making codes longer than they need to be. Every character adds 11 modules; a shorter code prints bigger on the same label and scans faster.
- Letters that look like digits. O and 0, I and 1 cause misreads by people; the SKU generator flags them.
Worked example: a bin label on a 2 × 1 inch label
- Type
BIN-A12-0042. At 0.330 mm the symbol is 58.1 mm wide, too wide for a 50.8 mm label. - Set X to 0.25. That is exactly 2 dots at 203 dpi and 3 at 300 dpi; the symbol is now 44.0 mm wide.
- Download the PNG for your printer and print at 100%. For many labels at once, use the bulk tool below.
To print a whole list as Code 128 on label sheets or a roll, use the bulk barcode generator or the label sheet tool.
Sources
- GS1: GS1 General Specifications Standard (Release 26.0) (accessed )
- ISO: ISO/IEC 15417:2007, Code 128 bar code symbology specification (amended by Amd 1:2026) (accessed )
- Zebra Technologies: DS2208 Digital Scanner Product Reference Guide (MN-002874-14EN Rev. A) (accessed )
More tools for labels and numbers
- 14 types
Barcode generator
Fourteen barcode types, GS1 sizes built in, and downloads ready for design software or a label printer.
Open the tool - QR
QR code generator
Links, Wi-Fi, email, phone and text QR codes that never expire.
Open the tool - CSV to PDF
Bulk barcode generator
Turn a list or CSV into Avery and A4 label sheets, a ZIP of SVG or PNG files, or ZPL for a label printer.
Open the tool - 30-up
Barcode label sheets
Print numbered Code 128 or QR labels on 30-up sheets or a label printer.
Open the tool - 2D
GS1 Digital Link generator
Turn a UPC or GTIN, with batch, expiry or serial, into a GS1 Digital Link QR code or GS1 DataMatrix.
Open the tool - Scan
Barcode checker
Scan a barcode or QR code with your camera or a photo and check its digits, GS1 data and which domain its link opens.
Open the tool - CSV
SKU generator
Build consistent SKUs from product, color and size codes, then export CSV.
Open the tool - GS1
Check digit calculator
Calculate or verify GS1 check digits and convert UPC-E, UPC-A, EAN-13 and GTIN-14.
Open the tool