Free Code 128 Barcode Generator

Create high-density Code 128 barcodes for logistics, shipping, warehouse and asset tracking — full-ASCII, automatic subset switching and check digit. Download as PNG, SVG or PDF, free with no signup and no watermark.

Full-ASCII (0-127) Auto subset A/B/C PNG · SVG · PDF Nothing uploaded

Code 128 settings

#000000
#FFFFFF

Preview

Need to print Code 128 labels — or put the barcode on a full label?

The free LabelInn app places your Code 128 barcode on a real label with text, SKUs and prices, then prints directly to Zebra (ZPL) and TSC (TSPL) thermal printers — including bulk printing hundreds of unique codes straight from Excel.

Get LabelInn — Free →

What is a Code 128 barcode?

Code 128 is a high-density linear (1D) barcode that encodes the full ASCII character set (values 0-127) — digits, uppercase and lowercase letters, and symbols. That completeness, combined with a compact numeric mode, is why Code 128 is the workhorse barcode of logistics, shipping, warehousing and asset tracking. Type your data above and this generator builds a scannable Code 128 barcode instantly in your browser; nothing you enter is uploaded anywhere.

Under the hood it runs the full bwip-js symbology engine, so the barcode is standards-correct: it automatically switches between the three character subsets to stay as short as possible and always appends the required check character. Download the result as a crisp vector SVG, a high-resolution PNG, or a print-ready PDF.

Why Code 128 is the shipping and warehouse workhorse

Code 128 subsets: A, B and C

Code 128 defines three interchangeable character sets, and a single barcode can shift between them mid-symbol to stay compact. You never choose these by hand — the generator selects and switches them for you — but it helps to know what they do:

SubsetEncodesBest for
Code 128 AASCII control characters, digits, uppercase letters, symbolsLegacy codes needing control chars
Code 128 BDigits, uppercase and lowercase letters, symbolsMixed-case alphanumeric SKUs, asset tags
Code 128 CPairs of digits (00-99) — two per characterLong numeric codes; maximum density

Common uses for Code 128

Use caseTypical data
Shipping & parcel labelsTracking numbers, carrier references, order IDs
Warehouse & WMSBin/location codes, license plates (LPN), pick tickets
Asset & equipment trackingSerial numbers, asset tags, maintenance IDs
Internal product / SKU labelsAlphanumeric SKUs, batch and lot references
Supply chain (as GS1-128)GTIN (01), batch (10), expiry (17), serial (21)

How to generate a Code 128 barcode

  1. The type is already set to Code 128 — or pick another symbology from the dropdown.
  2. Type your data: a tracking number, SKU, serial number or location code. Any ASCII characters are allowed.
  3. Adjust size, bar height, quiet zone and colors so the barcode matches your label and scanner.
  4. Download as PNG, SVG or PDF — the check character is added automatically.

Scanning tip: keep the quiet zone (blank margin) on each side at least 10× the width of the narrowest bar, and give shipping barcodes enough bar height so a handheld scanner can read them at a glance.

Printing Code 128 to a thermal label printer

You can download the image and drop it into any label, but the cleanest path is the free LabelInn app. It places the Code 128 barcode on a real label alongside text, logos and prices, then prints driverless — sending native ZPL to Zebra and TSPL to TSC printers over USB, network (TCP 9100) or Bluetooth. Because the barcode is rendered as sharp vectors, it stays razor-crisp at any label size and DPI, and you can bulk-print hundreds of unique Code 128 codes straight from an Excel column. See the full thermal printer software for supported models.

Embed this Code 128 generator on your site

Free to embed — just keep the attribution link. Great for help centers, supplier portals, WMS documentation and intranets.

<iframe src="https://www.labelinn.com/en/code-128-barcode-generator?embed=1" width="100%" height="640" style="border:1px solid #e5e7eb;border-radius:12px" title="Free Code 128 Barcode Generator by LabelInn" loading="lazy"></iframe> <p>Free <a href="https://www.labelinn.com/en/code-128-barcode-generator">Code 128 barcode generator</a> by LabelInn</p>

Frequently asked questions

Is this Code 128 barcode generator free?

Yes — no signup, no watermark, no limits. Everything runs in your browser, so nothing you type is uploaded.

What characters can Code 128 encode?

The full ASCII set (0-127): digits, uppercase and lowercase letters, and symbols. That is why it suits alphanumeric SKUs, serial numbers and shipping references.

Do I have to choose subset A, B or C?

No. The generator automatically selects and switches between subsets to produce the shortest valid barcode, and adds the Modulo-103 check character for you.

What is the difference between Code 128 and GS1-128?

GS1-128 is Code 128 with a leading FNC1 and GS1 Application Identifiers such as (01) GTIN or (17) expiry. Use plain Code 128 for internal codes; switch to GS1-128 in the dropdown when a partner requires standardized AI data.

How do I print Code 128 to a Zebra or TSC printer?

Download the image and print it, or use the free LabelInn app to place the barcode on a full label and print directly in native ZPL or TSPL — including bulk runs from Excel.

Need other symbologies? Use the full barcode generator for EAN, UPC, GS1, Data Matrix and PDF417, or the dedicated QR code generator. Designing full labels? Try the free label maker, or explore all LabelInn features.