BarcodeOwl

Code 128 Generator — Free Code 128 Barcodes

PNG downloads at 1x–4x resolution.

Preview

PNG for documents & web, SVG for print & designers — always free, no watermark, no signup.

Type any text above — letters, digits, punctuation — and the Code 128 barcode renders instantly. Unlike retail barcodes there is no check digit to manage and no registry to pay: Code 128 encodes full ASCII, and the symbol's built-in checksum is handled by the symbology itself.

Download PNG at up to 4x resolution or SVG vector for print. Free, no signup, no watermark — generate as many as you need.

What is Code 128?

Code 128 is the workhorse of linear barcodes: a high-density, full-ASCII symbology introduced in 1981 and now universal in logistics, warehousing and internal identification. Where retail symbologies like UPC and EAN only encode fixed-length digit strings, Code 128 accepts any combination of letters, digits and symbols, in any length — which is why shipping carriers, warehouses and IT departments default to it.

The symbology is actually three code sets in one: set A (uppercase + control characters), set B (full printable ASCII) and set C (double-density digits — two digits per symbol character). Encoders switch between sets automatically to keep the barcode as short as possible, so a string like “BOX-102938” is packed far tighter than Code 39 could manage. Every symbol ends with a mod-103 checksum character, so misreads are caught by the scanner rather than reaching your system.

What Code 128 is used for

Rule of thumb: if the barcode will only ever be scanned by your own systems and people, Code 128 is almost always the right choice. Reserve UPC/EAN for retail products and GS1-128 for retailer-mandated logistics labels.

  • Shipping & logistics — carrier labels (UPS, FedEx, DHL), pallet labels and packing slips
  • Warehouse management — bin locations, pick tickets, license plates (LPNs) on cartons and pallets
  • Internal SKUs & product IDs — anything that never touches a retail checkout
  • Asset tags & equipment labels — laptops, tools, machinery, IT inventory
  • ID cards, badges and membership numbers
  • Lab samples, patient wristbands and document tracking

Code 128 specifications

PropertySpecification
StandardISO/IEC 15417
Character setFull 128-character ASCII (sets A/B/C)
Data capacityVariable — practically up to ~48 characters for scannable labels
ChecksumMod-103, built into every symbol (not part of your data)
Digit density (set C)Two digits per symbol character — ideal for numeric IDs
Quiet zone10 module widths minimum on each side
Minimum X-dimension0.19 mm (7.5 mil) typical; 0.25 mm+ recommended for reliability
GS1 variantGS1-128 = Code 128 with FNC1 prefix and Application Identifiers

Code 128 vs Code 39 vs GS1-128

Code 39 is the older, simpler standard — but it's low-density (roughly half the data per inch) and limited to 43 characters, so it survives mostly in legacy automotive, government and defense applications. For anything new, Code 128 wins on density, charset and scanner support.

GS1-128 is not a different barcode — it's Code 128 with a GS1-mandated data structure: an FNC1 character followed by Application Identifiers such as (01) GTIN, (17) expiry date or (10) batch number. Retailers and distributors require GS1-128 on logistics labels; if a trading partner asks for “a GS1 barcode on the carton,” pick GS1-128 in the selector above and enter your AIs in parentheses, e.g. (01)09506000134352(17)251231.

Printing & scanning tips

  • Keep labels under ~48 characters — long Code 128 symbols get wide and hard to place
  • Use the SVG download and print at 300 DPI or higher; on thermal printers use native resolution
  • Black bars on white or light matte stock; preserve the 10-module quiet zones when trimming
  • Numeric-only data? Prefix zeros to an even length so the encoder stays in the double-density digit set
  • Test with the actual scanner model you'll deploy — laser scanners struggle with very wide symbols at close range

Frequently asked questions

Is this Code 128 generator free?

Yes — unlimited Code 128 barcodes, PNG up to 4x and SVG vector downloads, no account and no watermark. Code 128 numbers need no GS1 license, so the whole workflow is free end to end.

Does Code 128 need a check digit?

Not from you. Every Code 128 symbol includes a mod-103 checksum character that the encoder adds automatically and the scanner verifies transparently — it's part of the symbology, not your data. If your own system needs an additional check digit inside the data, add it before generating.

Can Code 128 encode lowercase letters and symbols?

Yes — full printable ASCII including lowercase, spaces and punctuation. The generator validates your input in real time and tells you if you type anything outside the allowed charset.

What's the difference between Code 128 and GS1-128?

Same bars, different grammar. GS1-128 is Code 128 with a leading FNC1 and GS1 Application Identifiers structuring the data (GTIN, batch, dates, weights). Use GS1-128 when a retailer, distributor or standard requires it; use plain Code 128 for everything internal.

How long can a Code 128 barcode be?

The standard allows up to 80 data characters, but practical labels stay under ~48 — beyond that the symbol becomes too wide to print and scan comfortably. If you need more data, move to a 2D symbology like DataMatrix or QR.

Will my Code 128 barcode scan at a retail checkout?

The scanner can read it, but checkout systems expect a GS1 product identifier (UPC-A or EAN-13). Code 128 is for logistics and internal identification, not point-of-sale. Selling a retail product? Use the UPC generator with a GS1-issued number.