Skip to content
Plume

Industrial · server-powered

Code 128 generator.

Code 128 is the workhorse of logistics: a compact, high-density 1D barcode that encodes any ASCII text (letters, digits and symbols). It's the default choice for internal tracking labels, and this generator verifies your data and renders it with the ISO-required 10X quiet zone that many tools skip.

Live previewFree SVG vector600 DPI freeISO quiet zonesNo sign-up

Any text or numbers, the workhorse 1D code.

Standards-based quiet zones are always on. For production packaging, verify a printed sample with a barcode verifier.

Preview

Example Code 128 barcodeSample: type to make it yours

  • Renders on our servers, the one Plume tool that does.
  • We keep the code type and content length, never what you encode.
  • Free SVG vector + up to 600 DPI PNG, commercial use allowed.
  • Full details in the privacy policy.

Valid Code 128 input

Code 128 accepts any of the 128 ASCII characters: capital and lowercase letters, digits, punctuation, even control characters. There is no fixed length; this generator takes up to 2048 characters, though anything beyond a few dozen becomes physically wide and awkward to scan. The mandatory check character (modulo 103, defined in ISO/IEC 15417) is calculated and appended automatically, so you never type it and it never appears in the human readable line.

The encoder chooses the best mix of the three internal code sets for you. Code set C stores two digits per symbol character, which is why purely numeric content comes out noticeably shorter than mixed text. If a trading partner asks for application identifiers like (01) or (17), you want GS1-128 instead: that is Code 128 plus the FNC1 flag and AI validation, and it has its own page here.

Working sample: INV-2026-00042 a realistic invoice number mixing capitals, digits and hyphens, the kind of arbitrary text Code 128 encodes natively.

Where Code 128 is used

  • Warehouse bins, totes and shelf labels
  • Order, invoice and ticket numbers
  • Asset tags for IT equipment
  • Shipping and routing labels

Common errors and how to fix them

Enter the content to encode.
The data field is empty. Type or paste whatever you want in the barcode; anything from a single digit to a full reference number works, lowercase and symbols included.
Content is too long (max 2048 characters).
This generator caps input at 2048 characters. Long content also produces a very wide symbol, so trim to the shortest reference that is still unique, or store the long value in your system and encode only its lookup key.

Size and printing

For labels read by handheld scanners, start around 0.25 to 0.35 mm module width with bars at least 10 mm tall; the bar height presets and the "Where will it be used?" picker set sensible defaults for screen use, office paper and label stock. Every extra symbol character adds 11 modules of width (in numeric mode two digits share one), so check the live preview at real size before committing to a label layout. Export SVG when your label software scales artwork, or PNG at 300 to 600 DPI so thermal and office printers keep the narrow bars crisp.

Code 128 questions

What is the difference between Code 128 and Code 39?

Code 128 encodes all 128 ASCII characters, including lowercase, and is considerably denser; Code 39 covers only 43 characters and produces wider symbols. Unless legacy scanners or an existing spec require Code 39, Code 128 is the better default.

Does Code 128 need a check digit?

Yes, but you never enter it. The symbology mandates a modulo 103 check character that this generator computes and appends automatically, and scanners strip it before returning your data.

Is Code 128 the same as GS1-128?

GS1-128 is Code 128 with a leading FNC1 and structured application identifiers such as (01) for a GTIN. Plain Code 128, which this page makes, carries free text with no AI rules. Use GS1-128 when a retailer or logistics partner asks for AIs.

Can I use this Code 128 generator commercially for free?

Yes. PNG and SVG downloads are free for commercial use, without an account, up to 20 downloads per UTC day. The live preview carries a watermark; downloaded files do not.

More barcode types