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:

ScenarioFormatWho Generates It
FedEx, UPS, USPS, DHLCode 128 / PDF417The carrier (when you buy postage)
Internal shipmentsCode 128You
Retail supply chain (to retailers)GS1-128You
Carton identificationITF-14You
Small/high-density labelsData MatrixYou 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:

  1. Enter package details on the carrier's website or through shipping software (ShipStation, Pirate Ship, EasyPost)
  2. Purchase postage
  3. The carrier generates a shipping label with their proprietary barcode encoding
  4. 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 TypeFormatExample
Warehouse to storeWTS-YYMMDD-NNNNWTS-260317-0042
Direct to customerDTC-YYMMDD-NNNNDTC-260317-0183
Return shipmentRET-YYMMDD-NNNNRET-260317-0007
Transfer between locationsTFR-YYMMDD-NNNNTFR-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

  1. Open our Code 128 Generator
  2. Enter your tracking number (e.g., WTS-260317-0042)
  3. 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

AIMeaningData FormatExample
(01)GTIN (product ID)14 digits(01)00614141000036
(10)Batch/lot numberUp to 20 alphanumeric(10)BATCH2026A
(17)Expiration dateYYMMDD(17)270630
(21)Serial numberUp to 20 alphanumeric(21)SER001234
(02)GTIN of items in carton14 digits(02)00614141000036
(37)QuantityUp 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

  1. Open our GS1-128 Generator
  2. Enter your data string with Application Identifiers
  3. 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 CaseFormat
Identify what product is in a cartonITF-14
Identify product + batch + date + serialGS1-128
Cartons going to retail distribution centersUsually both (ITF-14 for outer, GS1-128 for detail)
Internal warehouse cartonsEither, 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.

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

ParameterCode 128 (Shipping)GS1-128ITF-14
Minimum X-dimension0.25mm (10 mil)0.495mm (19.5 mil)0.635mm (25 mil)
Target bar height15mm (0.6 in)31.75mm (1.25 in)31.75mm (1.25 in)
Quiet zone (each side)10× X-dimension10× X-dimension10× X-dimension
Label size4" × 6" standard4" × 6" standardPrinted on carton

Printing Methods

MethodBest ForCost
Direct thermalStandard shipping labels$0.03-0.05/label
Thermal transferDurable labels, GS1-128 compliance$0.05-0.10/label
Inkjet/laserLow volume, internal use$0.10-0.25/label
Direct print on cartonITF-14 on corrugatedIncluded 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

ProblemCauseFix
Barcode won't scan at carrier facilityLow print quality or label damageUse thermal printer at 300 DPI minimum. Protect label from moisture
Retailer rejects carton labelsWrong format or missing Application IdentifiersConfirm retailer's GS1-128 requirements before shipping
Barcode scans but shows wrong dataEncoding errorScan and verify every barcode before shipping. Use our scanner to decode
Labels fade during transitDirect thermal label exposed to heat/sunSwitch to thermal transfer labels or protect with a clear label overlay
Carton barcode unreadableITF-14 printed on low-quality corrugatedIncrease X-dimension or apply an adhesive label instead of direct printing
8 min read

Frequently Asked Questions

What barcode format do shipping labels use?
Most shipping labels use Code 128 or GS1-128 (which is Code 128 with standardized data formatting). FedEx, UPS, USPS, and DHL all use Code 128 for tracking numbers. For carton-level identification in retail supply chains, ITF-14 is the standard. For small packages, carriers may use Data Matrix or PDF417 for additional encoded data.
Can I create my own shipping label barcodes?
For internal shipments (warehouse to warehouse, store transfers), yes — use Code 128 with your own tracking numbers. For commercial carriers (FedEx, UPS, USPS), the carrier generates the barcode as part of the shipping label when you purchase postage. You don't create those barcodes manually.
What's the difference between Code 128 and GS1-128 on shipping labels?
Code 128 is the barcode format (the symbology). GS1-128 is Code 128 with standardized GS1 Application Identifiers that structure the data — identifying what each number means (e.g., AI 01 = GTIN, AI 10 = batch number, AI 17 = expiration date). Retail supply chain partners typically require GS1-128; internal shipping can use plain Code 128.
What size should a shipping label barcode be?
For Code 128 on a standard 4×6 inch shipping label, the minimum bar height is 15mm (0.6 inches) and the minimum X-dimension is 0.25mm (10 mil). The GS1 specification recommends a target bar height of 31.75mm (1.25 inches). Wider bars scan more reliably on high-speed conveyor systems.
Do I need GS1 registration for shipping barcodes?
Only if you're using GS1-128 barcodes with Application Identifiers for retail supply chains. For plain Code 128 barcodes on internal shipping labels, no registration is needed. For ITF-14 carton barcodes, you need a GS1-registered GTIN.