🖥️ BatchPrintGTIN.com is optimised for desktop — for the best experience, open on a laptop or desktop browser.
BatchPrintGTIN.com — Free Batch Barcode & QR Code Generator
BatchPrintGTIN
Free BATCH Barcode & QR Code Generator
← Back to Generator

Home › Code 128 Barcode Generator

Free Code 128 Barcode Generator — Shipping, Inventory & Logistics

Code 128 is the most widely used alphanumeric barcode format in shipping, logistics, warehousing, and inventory management. Unlike UPC-A and EAN-13 which encode only numeric data, Code 128 encodes the full ASCII character set — upper and lower case letters, numbers, and special characters — making it ideal for product SKUs, serial numbers, lot numbers, tracking codes, and any data that contains letters.

What is Code 128?

Code 128 is a high-density linear barcode that can encode all 128 ASCII characters. It was developed in 1981 and became one of the most adopted barcode formats globally due to its flexibility and efficiency. Code 128 achieves higher data density than Code 39 — the same data in a shorter barcode — making it preferable for applications where label space is limited.

Code 128 has three sub-types automatically selected by the encoder based on the data content:

BatchPrintGTIN automatically selects the optimal sub-type for your data, or you can specify it manually.

Common Uses of Code 128 Barcodes

Code 128 vs Code 39 — Which to Use?

Code 128 is generally preferred over Code 39 for new implementations because it produces shorter barcodes for the same data (higher density), supports the full ASCII character set including lowercase (Code 39 only supports uppercase), and is more data-efficient. Code 39 is still required in some legacy systems — particularly automotive (VIN labels), defence (MIL-STD), and some older healthcare environments that have not upgraded their scanners.

Unless your industry or existing system specifically requires Code 39, choose Code 128. See the full Code 128 vs Code 39 comparison.

GS1-128 — Code 128 with Structured Data

GS1-128 (formerly EAN-128 or UCC-128) is a specific application of Code 128 that uses GS1 Application Identifiers (AIs) to encode structured data elements. A GS1-128 barcode can encode a GTIN, an expiry date, a lot number, and a serial number all within a single barcode. GS1-128 is mandatory in some pharmaceutical supply chains and is used in food safety traceability systems. BatchPrintGTIN supports GS1-128 with AI formatting.

Customising Code 128 Barcodes

The BatchPrintGTIN generator supports several display options for Code 128. You can configure bar width (scale), bar height, font size, whether to show the human-readable text below the bars, and custom label text that differs from the encoded data — for example displaying a product name or description instead of the raw code value. Bar colour and background colour are both configurable for brand matching.

Batch Code 128 Generation

For large-scale label production, use the batch generator to create hundreds of Code 128 barcodes from a CSV file simultaneously. Each row in the CSV can have a different barcode value, label text, and display options. Download the batch as a ZIP archive of individual PNG files or a single multi-page PDF formatted for label printing.

Frequently Asked Questions

What characters can Code 128 encode?

Code 128 can encode all 128 standard ASCII characters — upper and lowercase letters A–Z, digits 0–9, and special characters including spaces, hyphens, forward slashes, and control characters. It cannot encode characters outside the standard ASCII range (such as accented characters or symbols from non-Latin scripts).

Is there a length limit for Code 128?

There is no strict specification-defined limit, but practical readability degrades as barcodes become very long. For scanner reliability, keep Code 128 data under 48 characters for standard label widths. For longer data, consider a 2D format like QR or Data Matrix.

Can retail POS scanners read Code 128?

Yes. All modern retail point-of-sale scanners can read Code 128. However, retail product identification should use UPC-A or EAN-13 — Code 128 is for logistics, shipping, and internal inventory, not consumer unit scanning at checkout.

Generate a Code 128 Barcode Free

See Also