Sign In
Products
ZPL ViewerBarcode GeneratorImage → ZPLZPL cheat sheetLabel DesignerTemplate Gallery
Developers
API QuickstartAPI ReferenceMCP ServerBulk GenerationWebhooksSDKs & ExamplesLimitsDirectPrint agent NewGitHub ActionVS Code extensionOn-Premise
Solutions
Logistics & ShippingE-CommerceERP & WMSManufacturingRetailHealthcare & LaboratoryAll solutions
Tools
ZPL Diagnostics HubZPL DebuggerSize & DPI AnalyzerDPI ConverterBarcode fit calculatorShipping Label AnalyzerFont InspectorOrientation DebuggerCalibration AssistantPrinter Compatibility CheckerBarcode Readability CheckerPrinter Language DetectorThermal Printer Test PackZPL ToolsEPL ToolsTSPL ToolsCPCL ToolsPrinter Language ConverterAll ToolsGuidesPricing
Language
EnglishTürkçeDeutsch
Home›Barcode Types›What Is a Code 128 Barcode?

What Is a Code 128 Barcode?

Code 128 is a linear barcode that encodes the full ASCII set at high density. Its flexibility makes it the de facto standard for shipping, logistics and warehouse labels; the GS1-128 variant also carries supply-chain data.

Code 128: TR-4821-KARGO

Sample data: TR-4821-KARGO

Create your own Code 128 barcode →

Key facts

Year1981
StandardISO/IEC 15417
CapacityFull ASCII
NoteThe standard for shipping and warehouse labels; the most flexible linear code

Where is it used?

How to print Code 128 in ZPL

On a Zebra printer a Code 128 barcode is one command, ^BC. The example below is a complete label; paste it into the preview to see it drawn before you send it to a printer.

^XA
^FO50,50^BY3
^BCN,120,Y,N,N
^FDLBX-2026-0917^FS
^XZ

^BC encodes letters, digits and symbols; the printer picks the code set. N,120,Y,N,N = no rotation, 120 dots tall, text below, no text above, no UCC check digit. For GS1-128 use mode D and put the application identifiers in the data.

Open this example in the ZPL preview → · ^BC command reference

GS1-128: the same barcode, structured data

GS1-128 (formerly UCC/EAN-128) is not a separate barcode type but a particular use of Code 128: the symbol starts with an FNC1 character and the data is made of fields labelled with Application Identifiers (AIs). One barcode can then carry the product number, the weight and the batch code at once, and the reading system knows which field is which.

Common identifiers: (00) SSCC shipping unit number, (01) GTIN, (10) batch/lot, (17) expiry date, (3103) net weight in kg with three decimals.

Labelixa's preview engine produces GS1-128 through the D (UCC/EAN) and U (UCC Case) modes of the ^BC command. Parentheses are printed but not encoded; FNC1 separators are inserted automatically:

^XA
^FO50,50^BCN,120,Y,N,N,D
^FD(01)09501101530003(3103)000189(10)LOT42^FS
^XZ

The U mode is for shipping units (SSCC): the data is normalised to 19 digits, the check digit is calculated and the result is encoded as (00).

In D mode (firmware x.11 and later) the printer calculates the check digit: the last digit of AIs that carry one, such as (00) SSCC and (01) GTIN, may be a placeholder (Zebra's example writes 0), and the calculated digit goes into both the barcode and the line below it. The preview draws the same.

Related solutions

Logistics & Shipping

Verify the exact label format your carrier expects on screen, before you send it to the printer.

E-Commerce

See, verify and automate label formats from different marketplaces in one place.

Warehouse & Racking

Check rack, bin and pallet labels for readability and overflow on screen, before you print and mount them.

ERP & WMS

Render the labels produced by your warehouse and enterprise systems as a service — with no installation, or on-premise.

Business Central

Shipping and barcode labels from Dynamics 365 Business Central: Labelixa reads your posted sales shipments through the standard API, fills a ZPL template, shows the label on screen and prints it through the DirectPrint agent.

Retail

Verify store shelf and product labels on screen, before they fail to scan at the checkout.

Healthcare & Laboratory

Verify specimen, medication and device labels — GS1 Data Matrix included — on screen before you print them.

Pharma & Serialization

Verify the GTIN + serial + batch + expiry chain in the Data Matrix on screen, before it is printed.

Food & Beverage

Verify the case labels that carry batch and expiry on screen, before they are printed.

Frequently asked questions

What is Code 128?

Code 128 is a linear barcode that encodes the full ASCII set at high density. Its flexibility makes it the de facto standard for shipping, logistics and warehouse labels; the GS1-128 variant also carries supply-chain data.

How much data can Code 128 hold?

Code 128 capacity: Full ASCII.

Where is Code 128 used?

Main uses: Shipping and tracking numbers, Warehouse shelf and carton labels, Serial numbers and batch codes, GS1-128 for SSCC, expiry date and batch information.

Is Code 128 1D or 2D?

Code 128 is a linear barcode.