Code 128 barcode generator

Generate Code 128 for flexible internal identifiers

Code 128 is useful when an internal SKU, asset ID or logistics value includes more than fixed-length digits. BatchLabel validates the supported character set, selects an efficient encoding strategy and keeps the encoded value separate from the label text around it.

Generate Code 128 10-row trial without an account Product rows stay in your browser
01

Barcode data

Valid input

Code 128 value is structurally valid.

Live preview
Vector output

Identifier notice. BatchLabel generates the graphical representation of the number provided. It does not sell or assign official GTIN, EAN or UPC codes.

A practical workflow

How to use it

  1. 01

    Enter the exact identifier

    Preserve case and punctuation expected by the receiving system.

  2. 02

    Check unsupported controls

    Remove hidden line breaks or control characters unless the configured workflow explicitly supports them.

  3. 03

    Choose height and module scale

    Balance label space with reader tolerance, then test the printed output.

Avoid rework

Common errors and precise fixes

Trailing spaces from a spreadsheet

Invisible whitespace becomes part of the encoded data and changes the scan result.

Review the normalized and original values, then trim only according to an explicit import rule.

Confusing Code 128 with GS1-128

GS1-128 uses Code 128 symbols with an FNC1 and standardized Application Identifier semantics.

Use the GS1-128 tool when the data must follow GS1 element-string rules.

Know the limits

Not every control character or binary sequence is accepted by the initial text-oriented input.

Code 128 flexibility does not make an internal ID globally unique.

Questions, answered

Before you continue

Does Code 128 support lowercase letters?

Yes, ordinary Code 128 can encode upper- and lowercase characters in its supported ASCII range. The scan result preserves the encoded case.

Do I need to supply a Code 128 checksum?

No. The symbol checksum is generated as part of rendering and is not normally included in the text value you enter.