Use Code 128 for flexible internal identifiers, preserve its proportions and quiet zones, then test the exact printed label with the scanner and software that will receive it.
What Code 128 does—and does not—provide
Code 128 is a high-density linear barcode that can represent the full ASCII character set. It is well suited to asset IDs, warehouse locations, internal references and shipping workflows whose receiving system expects this symbology.
Generating bars does not register a product. Retail identifiers such as GTIN, UPC and EAN follow separate allocation rules. If a marketplace or retailer requires an official number, obtain it through the authorised issuing process and confirm the required barcode type before printing.
- Internal identifier: your organisation controls the value.
- Retail identifier: the number must follow the receiving network’s rules.
- Barcode symbol: the visual encoding of that value.
Prepare the encoded value
Use one stable source of truth for identifiers. Copying from a spreadsheet can introduce spaces, punctuation or leading-zero changes, so compare the value shown below the symbol with the source record. Decide whether letter case matters to the destination system.
Avoid encoding a long description when a short database key will do. Shorter values usually create narrower symbols, leaving more room for safe printing and scanning.
Export and print without distortion
MakeLiora exports SVG because vector artwork stays sharp across sizes. Resize it proportionally and keep clear white space at both ends. Do not squeeze the barcode to fit a narrow label: reducing bar width unevenly changes the pattern the scanner reads.
Print a single sample on the real printer and stock. Thermal spread, low toner, glossy coatings and curved packaging can all alter performance. Test near, far and at slight angles under the lighting where staff will work.
Validate the complete system
A phone camera reading the characters is only an initial check. The important test uses the actual scanner connected to the actual receiving software. Confirm that the decoded value finds the intended record and that no prefix, suffix or keyboard setting changes it.
Final checklist
- The receiving system accepts Code 128.
- The encoded value exactly matches the source record.
- The SVG was resized proportionally.
- Clear space remains at both ends.
- A production sample scans in the real workflow.
Frequently asked questions
Can Code 128 replace a UPC?
Not when a retailer or marketplace requires an officially allocated UPC or GTIN. Use the identifier and symbol specified by that network.
Why does the barcode scan on screen but not on paper?
Printing can narrow spaces, blur edges or reduce contrast. Increase the printed size, improve output quality and keep clear margins.
Should I add the number beneath the bars?
Human-readable text is useful for manual recovery and visual checking, although the receiving organisation may have its own label rules.
This guide is written for practical education, reviewed against the current MakeLiora tool, and updated when its workflow changes. Read our editorial policy.