Code 128 generator

Code 128 Barcode Generator

Create Code 128 barcodes for SKUs, serial numbers, inventory labels and general supported text, then download PNG or SVG.

Runs locally in your browser
01

Barcode details

Enter printable ASCII text.

0 characters

Enter printable ASCII text.

02

Preview

Enter a value, then press Create barcode.

Enter a value, then press Create barcode.

Label internal references with Code 128

A warehouse reference such as BIN-A17 or a mixed-case serial can be more useful to an internal system than a retail product number. Code 128 is a linear symbology for these kinds of supported text values.

Fit the identifier to the receiving application

Use an existing SKU, location key or asset reference that your own records recognise. A scanner usually delivers decoded characters to software; the bars do not explain whether those characters mean a bin, an order or a product. Establish one convention before printing thousands of labels. A plain Code 128 symbol is also different from GS1-128: the latter uses FNC1 and GS1 Application Identifiers. This page does not turn arbitrary text into a compliant logistics message.

Build a traceable sample in three actions

Enter printable ASCII in Value, preserving the exact spelling and punctuation from the source. Press Create barcode to render Preview, then read back the human-readable line before using Download SVG or Download PNG. Try a representative longest identifier as well as a short example. Do not add surrounding spaces to make a code appear centred: spacing belongs in the layout, while a leading or trailing space may become meaningful data to the downstream application.

Length changes the space requirement

Code 128 width depends on the encoded characters and the selected code sets. There is no single universal millimetre width for every SKU. Let the generated quiet zones survive placement and use sufficient bar height for the scanning environment. A long mixed reference squeezed into a narrow shelf strip can produce finer elements than the printer handles reliably. Consider the identifier length and the actual dot pitch together rather than stretching the exported image to an arbitrary rectangle.

Distinguish a character problem from a print problem

This interface accepts its documented printable ASCII input; a Turkish accented character or an emoji should not be silently transliterated just to pass validation. Correct the agreed identifier convention at the source if necessary. For print failures, inspect contrast, resampling and page scaling before blaming the data. At 203/300 dpi, check a real output sample. If the reader returns the correct string but the warehouse app rejects it, investigate that application’s lookup and scanner suffix settings.

Common questions

Is Code 128 the same as GS1-128?
No. GS1-128 adds a specific start pattern and structured GS1 fields. A general SKU barcode should not be labelled as a standards-compliant shipment label.
Can I encode lower-case letters?
The supported printable ASCII input includes lower-case characters. Preserve the casing your system uses; changing it can point to a different record.
Does the visible string need an extra check digit?
Code 128 has an internal symbol check character handled by encoding. Do not append an invented product digit to the identifier as a substitute for that mechanism.
Why is one Code 128 much wider than another?
Its size depends on the input sequence and encoding. Judge the final symbol at a suitable physical module size instead of comparing only character counts.

Code 128: Input and usage checks

When Code 128 is useful

Code 128 is a practical choice when your workflow needs more than a fixed retail number. It is commonly suited to internal identifiers such as SKUs, serial numbers, warehouse references and logistics labels when the receiving system supports Code 128.

No arbitrary marketing length limit

BarcoBatch follows the real engine and character constraints instead of inventing a small fixed maximum. Very long values still create wider and denser symbols, so design and scanner practicality matter even when the input is structurally accepted.

Bulk Code 128 from Excel

The Excel generator includes a Code 128 Auto option. It can detect a clear barcode column, validate the rows and create an updated XLSX plus a ZIP of PNG files without uploading the workbook.

A practical input check

For an internal asset such as asset-0042, the lowercase letters and zeros are part of the identifier. Code 128 can preserve them; do not switch to Code 39 and rewrite the case merely to get an image. Ordinary Code 128 is not GS1-128: entering an application identifier in parentheses does not create the required GS1 structure.