How to Create a Shipping Label Barcode: Complete Guide
Learn how to create barcodes for shipping labels using Code 128, GS1-128, and ITF-14 formats. Step-by-step guide covering format selection, data encoding, and print requirements.
The barcode on a shipping label is what lets carriers sort, route, and track packages through their networks. Every time your package moves — from pickup to sorting facility to delivery truck to your door — someone or something scans that barcode. If the barcode doesn't scan, the package stalls.
Whether you're shipping through a commercial carrier or managing your own internal logistics, understanding shipping label barcodes helps you avoid scanning failures, meet supply chain partner requirements, and set up efficient workflows. Here's how it all works.
Which Format Does Your Shipping Label Need?
The answer depends on who's scanning the barcode and what system they're using:
| Scenario | Format | Who Generates It |
|---|---|---|
| FedEx, UPS, USPS, DHL | Code 128 / PDF417 | The carrier (when you buy postage) |
| Internal shipments | Code 128 | You |
| Retail supply chain (to retailers) | GS1-128 | You |
| Carton identification | ITF-14 | You |
| Small/high-density labels | Data Matrix | You or the carrier |
Commercial Carriers: They Generate the Barcode
If you're shipping via FedEx, UPS, USPS, or DHL, you don't create the barcode yourself. The carrier generates it when you create a shipment:
- Enter package details on the carrier's website or through shipping software (ShipStation, Pirate Ship, EasyPost)
- Purchase postage
- The carrier generates a shipping label with their proprietary barcode encoding
- Print the label and apply it to your package
The carrier's barcode encodes the tracking number, routing information, and service type in their specific format. You can't replicate this with a standalone barcode generator because the encoding includes carrier-specific data structures.
You can, however, scan and verify these barcodes — use our scanner to decode the tracking number from any shipping label barcode.
Internal Shipping: You Generate the Barcode
For shipments within your own operation — warehouse transfers, store replenishments, direct fulfillment — you create your own barcodes:
Creating Code 128 Shipping Barcodes
Code 128 is the standard for shipping because it handles alphanumeric data compactly, scans reliably at distance, and is supported by every barcode scanner. Here's how to create shipping barcodes with it:
Step 1: Define Your Tracking Number Format
Create a consistent format for your internal tracking numbers:
[Prefix]-[Date]-[Sequential]
Examples:
| Shipment Type | Format | Example |
|---|---|---|
| Warehouse to store | WTS-YYMMDD-NNNN | WTS-260317-0042 |
| Direct to customer | DTC-YYMMDD-NNNN | DTC-260317-0183 |
| Return shipment | RET-YYMMDD-NNNN | RET-260317-0007 |
| Transfer between locations | TFR-YYMMDD-NNNN | TFR-260317-0015 |
Keep codes under 20 characters. Longer codes produce wider barcodes that may not fit on small labels or scan reliably at speed. Code 128's double-density numeric mode helps — the date portion encodes at twice the density of the alphabetic prefix.
Step 2: Generate the Barcode
- Open our Code 128 Generator
- Enter your tracking number (e.g.,
WTS-260317-0042) - Download as PNG for direct printing or SVG for label design software
Step 3: Design Your Shipping Label
A functional shipping label includes more than just the barcode. Standard layout:
┌─────────────────────────────┐
│ FROM: Your Company │
│ 123 Warehouse Dr │
│ City, ST 12345 │
│ │
│ TO: Customer Name │
│ 456 Delivery Ave │
│ City, ST 67890 │
│ │
│ ║║║║║║║║║║║║║║║║║║║║║║║║║ │
│ WTS-260317-0042 │
│ │
│ Weight: 2.3 lbs │
│ Package: 1 of 1 │
└─────────────────────────────┘
Print the tracking number as text below the barcode. This is a standard practice called human-readable interpretation (HRI). If the barcode is damaged or unreadable, the number can be entered manually.
GS1-128 for Retail Supply Chains
When you ship products to retailers (Walmart, Target, Amazon warehouses, grocery chains), they typically require GS1-128 barcodes on carton labels. GS1-128 uses the same Code 128 symbology but adds Application Identifiers (AIs) that structure the data:
Common Application Identifiers
| AI | Meaning | Data Format | Example |
|---|---|---|---|
| (01) | GTIN (product ID) | 14 digits | (01)00614141000036 |
| (10) | Batch/lot number | Up to 20 alphanumeric | (10)BATCH2026A |
| (17) | Expiration date | YYMMDD | (17)270630 |
| (21) | Serial number | Up to 20 alphanumeric | (21)SER001234 |
| (02) | GTIN of items in carton | 14 digits | (02)00614141000036 |
| (37) | Quantity | Up to 8 digits | (37)24 |
Example GS1-128 String
A carton containing 24 units of a product with lot number BATCH2026A and expiration date June 30, 2027:
(01)00614141000036(10)BATCH2026A(17)270630(37)24
This tells the receiving warehouse exactly what's in the carton, when it expires, and which lot it came from — all from one barcode scan.
Generating GS1-128 Barcodes
- Open our GS1-128 Generator
- Enter your data string with Application Identifiers
- Download and add to your carton label
Note: GS1-128 requires a GS1-registered GTIN. If you don't have one, see our guide on how to get a barcode for your product.
ITF-14 for Outer Cartons
ITF-14 barcodes identify shipping cartons and cases. They encode a 14-digit GTIN (Global Trade Item Number) that identifies what's inside the carton at the product level, not the individual-unit level.
When to Use ITF-14 vs. GS1-128
| Use Case | Format |
|---|---|
| Identify what product is in a carton | ITF-14 |
| Identify product + batch + date + serial | GS1-128 |
| Cartons going to retail distribution centers | Usually both (ITF-14 for outer, GS1-128 for detail) |
| Internal warehouse cartons | Either, based on your system |
ITF-14 is designed for printing directly on corrugated cardboard. Its wide bars and high tolerance for print variation make it reliable on rough surfaces where Code 128 might struggle.
Generate ITF-14 barcodes with our ITF-14 Generator.
Print Requirements for Shipping Barcodes
Shipping barcodes face tougher conditions than retail barcodes — they're handled roughly, exposed to weather, and scanned at speed on conveyor systems. Print quality matters.
Minimum Specifications
| Parameter | Code 128 (Shipping) | GS1-128 | ITF-14 |
|---|---|---|---|
| Minimum X-dimension | 0.25mm (10 mil) | 0.495mm (19.5 mil) | 0.635mm (25 mil) |
| Target bar height | 15mm (0.6 in) | 31.75mm (1.25 in) | 31.75mm (1.25 in) |
| Quiet zone (each side) | 10× X-dimension | 10× X-dimension | 10× X-dimension |
| Label size | 4" × 6" standard | 4" × 6" standard | Printed on carton |
Printing Methods
| Method | Best For | Cost |
|---|---|---|
| Direct thermal | Standard shipping labels | $0.03-0.05/label |
| Thermal transfer | Durable labels, GS1-128 compliance | $0.05-0.10/label |
| Inkjet/laser | Low volume, internal use | $0.10-0.25/label |
| Direct print on carton | ITF-14 on corrugated | Included in carton cost |
Direct thermal printers (like Zebra, DYMO, or Rollo) are the standard for shipping labels. They print fast, require no ink, and produce barcodes that scan reliably. The trade-off: direct thermal labels fade in sunlight and heat. For shipments exposed to summer heat or outdoor conditions, use thermal transfer printing.
For barcode print quality standards and verification, see our barcode quality verification guide.
Common Shipping Barcode Problems
| Problem | Cause | Fix |
|---|---|---|
| Barcode won't scan at carrier facility | Low print quality or label damage | Use thermal printer at 300 DPI minimum. Protect label from moisture |
| Retailer rejects carton labels | Wrong format or missing Application Identifiers | Confirm retailer's GS1-128 requirements before shipping |
| Barcode scans but shows wrong data | Encoding error | Scan and verify every barcode before shipping. Use our scanner to decode |
| Labels fade during transit | Direct thermal label exposed to heat/sun | Switch to thermal transfer labels or protect with a clear label overlay |
| Carton barcode unreadable | ITF-14 printed on low-quality corrugated | Increase X-dimension or apply an adhesive label instead of direct printing |
Related Guides
- Code 128 Complete Guide — full technical reference for the most common shipping barcode
- GS1-128 Complete Guide — Application Identifiers, data formatting, and retail supply chain requirements
- ITF-14 Complete Guide — carton-level identification for outer packaging
- Code 128 vs Code 39 — why Code 128 replaced Code 39 in modern shipping
- Barcode Quality Verification Guide — how to test barcode print quality
- How to Create Inventory Barcodes — set up warehouse barcode tracking
- Warehouse Barcode Systems — full warehouse implementation guide