About this tool
This Code 128 barcode generator turns printable letters, digits, spaces, and punctuation into a dense linear symbol. It is suited to controlled inventory and logistics workflows where you define the identifier format. Enter the exact value your software expects, download the image, and test it with the scanner used on site.
Where Code 128 fits
Code 128 is a high-density linear symbology capable of representing the printable ASCII character set. Warehouses use it for bin labels, asset tags, shipment references, work orders, and internal item identifiers. Unlike UPC-A and EAN-13, it is not inherently a retail product-number assignment system. Your organization defines what the scanned string means and maps it to an application record.
The format uses code sets to represent different character ranges efficiently. A renderer can switch sets automatically, so users generally enter the intended value rather than choosing Code Set A, B, or C manually. Numeric runs may become compact, while mixed letters and punctuation require more symbol width.
Generate a Code 128 barcode for inventory
- Define an identifier convention before printing labels.
- Enter the value exactly, including capitalization, spaces, and punctuation.
- Keep it concise enough for the available label width.
- Download SVG for a label template or PNG for a digital proof.
- Scan the export into the actual inventory input field.
- Confirm that keyboard suffixes, prefixes, and scanner rules do not alter the value.
- Print a small batch and test placement before producing the full run.
The Code 128 barcode generator validates printable characters and length. It cannot know whether ITEM-A-001 exists, is unique, or follows your database policy. Enforce those constraints where records are created.
Build identifiers that survive operations
Avoid putting changeable facts such as price, aisle, employee name, or current status directly in an inventory barcode. Encode a stable key and let software display current attributes after lookup. This prevents relabeling whenever a product moves or a status changes.
Decide whether identifiers are case-sensitive. Avoid characters that staff confuse during manual entry, and document whether leading zeroes are meaningful. If values come from multiple systems, allocate prefixes or namespaces to prevent collision. Print human-readable text beneath the bars so staff can recover when a scanner is unavailable.
Width, resolution, and quiet zones
A barcode 128 symbol grows as the payload grows. Reducing only its width damages module proportions. Shorten the value, increase label width, or use a suitable 2D format rather than squeezing it. Maintain blank quiet zones on both sides, strong dark-on-light contrast, and sharp vertical edges.
SVG is ideal for scalable templates. When rasterizing, match the printer's dot resolution so bars align cleanly with device pixels. Direct thermal stock can fade with heat or time; thermal-transfer ribbons may suit longer-lived asset tags. Curved surfaces require enough width and orientation to keep the scanner from seeing a distorted span.
Scanner and software configuration
Many handheld readers support Code 128, but a device may have that symbology disabled or apply a prefix, suffix, carriage return, or application identifier rule. Test with the final scanner profile. A phone app decoding a proof demonstrates symbol readability, not end-to-end warehouse compatibility.
If a scan is wrong, compare the decoded characters with the intended ASCII barcode value. Check invisible leading or trailing spaces in source data, keyboard layout behavior, and application field formatting before blaming the printed pattern.
Code 128 is not Code 39
Code 39 uses a smaller character set and is often less dense. Some legacy systems require it, but QRBarcode does not currently generate Code 39 and does not silently substitute Code 128. Confirm the named symbology in the receiving specification. Similar-looking bars are not interchangeable.
Frequently asked questions
Does Code 128 support letters? Yes, along with digits, spaces, and printable punctuation.
Is it suitable for retail checkout? Only when that retailer explicitly accepts it. UPC/EAN are the usual consumer product formats.
Why is my symbol very wide? Long or mixed-character values require more modules. Shorten the identifier or provide more label width.
Can the generator ensure uniqueness? No. Uniqueness belongs in your inventory or asset-management system.
Pilot an inventory label set
Build a pilot containing short and long IDs, digits-only values, mixed case, spaces, punctuation, and deliberate invalid records. Use the Code 128 generator to render authorized examples, then scan each into a diagnostic text field and the production inventory application. Compare results exactly, including leading and trailing characters.
The code 128 barcode generator should remain downstream from identifier issuance. A database transaction creates the unique asset key; the label job reads that key and records its print status. Reprinting should preserve the value and add an audit event rather than allocating another identifier.
Test duplicate scans, damaged labels, an offline workstation, and a scanner with the wrong profile. Staff need a visible error and recovery path instead of creating a replacement record. When a code decodes but the item is absent, troubleshoot application data rather than changing the barcode 128 artwork.
For long-lived inventory, retain the template, font-free SVG, scanner settings, printer profile, and acceptance samples. A new ribbon, label stock, firmware update, or device model can change results. Rerun the Code 128 barcode generator pilot whenever one of those production variables changes.