Guides › PDF417 Barcodes for Shipping and Logistics — What They Encode and How to Generate Them

PDF417 Barcodes for Shipping and Logistics — What They Encode and How to Generate Them

Learn how PDF417 barcodes are used in logistics and shipping labels by UPS, FedEx, USPS, and freight carriers. Covers data fields, label standards, and how to generate compliant PDF417 shipping barcodes.

PDF417 Barcodes for Shipping and Logistics — What They Encode and How to Generate Them

If you have ever looked at a UPS, FedEx, or USPS shipping label and noticed the dense rectangular barcode near the tracking number, you have already seen a PDF417 in the wild.

PDF417 is the dominant 2D barcode format in North American parcel and freight logistics, used alongside linear Code 128 barcodes for redundancy and backward compatibility. This guide explains why logistics uses PDF417, what data fields it encodes, which label standards govern it, and how to generate compliant PDF417 barcodes for your own shipping workflows.


Why Logistics Uses PDF417

Shipping labels need to carry a lot of structured information in a small space: tracking number, sender address, recipient address, service type, weight, zone, sort destination, and sometimes hazmat or signature-required flags. Linear barcodes like Code 128 can only encode a single string, which means either multiple barcodes per label or loss of structured data.

PDF417 solves this with two key properties:

  1. High data capacity — up to 1,850 ASCII characters in a single symbol. A full shipping record with all fields fits in one barcode.
  2. Error correction — PDF417's Reed-Solomon error correction means up to 50% of a damaged barcode can be restored algorithmically. Labels take physical abuse — rain, abrasion, fold creases — and still need to scan at the destination warehouse.

Carrier-Specific PDF417 Usage

UPS

UPS labels use a PDF417 barcode (sometimes called the "MaxiCode + PDF417" combination) to encode:

The PDF417 on a UPS label typically sits in the upper half of the label. The MaxiCode symbol (the circular target pattern) in the lower-left is read by high-speed conveyor belt scanners at sort facilities. PDF417 provides the secondary human-readable and handheld-scanner interface.

FedEx

FedEx Express and Ground labels follow a similar scheme. The primary data barcode is a PDF417 that encodes routing, service type, tracking number, and COD/signature flags. FedEx also embeds a GS1-128 linear barcode for backward compatibility with older infrastructure.

USPS

USPS Intelligent Mail Package Barcode (IMpb) uses a linear Intelligent Mail barcode (IMb) as the primary symbol, but PDF417 is required on Priority Mail and Parcel labels to carry the full routing record including sender address, recipient address, and special-service codes.

FreightPro and LTL Carriers

In less-than-truckload (LTL) freight, the VICS (Voluntary Interindustry Commerce Standards) Bill of Lading format specifies PDF417 as the standard for bill-of-lading barcodes. The VICS BOL PDF417 encodes shipper/consignee IDs, commodity class, weight, and pro number in a structured data format.


What Data Is Encoded in a Shipping PDF417

The exact structure depends on the carrier and label standard, but a typical shipping PDF417 encodes a structured record. Using GS1 Application Identifiers (AIs) is common when labels must be interoperable across systems:

| Field | GS1 AI | Example value | |---|---|---| | Global Trade Item Number | (01) | 00614141123452 | | Serial Shipping Container Code | (00) | 006141411234567890 | | Ship-to postal code | (420) | 90210 | | Ship-to country (3-digit ISO) | (421) | 840 (USA) | | Tracking / package ID | (91)–(99) | Carrier-specific | | Weight in pounds | (3102) | 0500 (5.00 lb) | | Number of pieces | (37) | 3 |

For carrier-specific proprietary formats (which most major carriers use), the PDF417 encodes a structured text record — often pipe-delimited or fixed-width — that maps to the carrier's internal field schema.


Label Specification Requirements

When generating PDF417 for shipping labels, the physical specification matters. Scan failure at a receiving dock or sort facility costs money. Key requirements:

Minimum size

Most carrier specifications require a PDF417 symbol of at least: - 1.5 inches wide × 0.5 inches tall at standard density - X-dimension (narrowest module width) of at least 7.5 mils (0.0075 inches)

At 203 DPI (common thermal printer), 7.5 mils = about 1.5 pixels per module — dangerously small. Use 300 DPI or higher for label printing.

Quiet zone

PDF417 requires a minimum quiet zone of 2× the X-dimension (2 modules) on all four sides. On a label, this means leaving white space around the barcode — do not let the barcode bleed to the edge of the label or touch other printed elements.

Error correction level

For shipping and logistics: - Level 3 is minimum for standard labels - Level 5 is recommended for outdoor / high-handling environments - Level 7 or higher for environments with frequent label damage (cold chain, wet freight)

Higher error correction reduces data capacity but dramatically improves scan reliability on damaged labels.

Color and contrast

Print in black on white or dark ink on a light background. Minimum contrast ratio of 70% (print reflectance vs. background reflectance per ISO 15415). Avoid colored labels, glossy coatings, or watermarks under the barcode area.


Generating a PDF417 Shipping Barcode

Online generator

PDF417 Studio generates correctly specified PDF417 barcodes in PNG, SVG, and PDF formats. For a shipping label:

  1. Go to the PDF417 Studio generator →
  2. Enter your tracking or payload data in the Payload field
  3. Under Advanced Options, set:
  4. Error correction level: 5 (or higher for rough handling)
  5. Columns: 5–8 (balances density vs. scan reliability)
  6. Scale: adjust so the output is at least 1.5 inches wide at your print DPI
  7. Export as PNG at 300 DPI or higher, or as SVG for vector output

API — batch generation for high-volume shipping

For shipping software, order management systems, or fulfillment pipelines that generate labels at scale, use the PDF417 Studio API:

bash curl -sS -X POST https://www.pdf417-studio.com/api/generate \ -H "Content-Type: application/json" \ -d '{ "payload": "1Z9999W99999999999|RECIPIENT:90210|SVC:GROUND|PKG:1/1", "error_correction": 5, "columns": 6 }' \ | python3 -c " import sys, json, base64 data = json.load(sys.stdin) open('shipping_label.png', 'wb').write(base64.b64decode(data['pngBase64'])) print('Label saved.') "

For CSV batch generation (generating hundreds of labels at once from a spreadsheet), see the CSV batch guide →.

See the full API documentation → for authentication, quota tiers, and all generation parameters.


Verifying a Shipping Label Barcode Before Print

Printing thousands of labels only to find they fail to scan at the carrier hub is expensive. Use the Diagnose tool to verify before committing to a print run:

  1. Generate a test barcode at your target settings
  2. Upload the image to PDF417 Studio Diagnose →
  3. Check:
  4. ✅ Decoded payload matches your source data
  5. ✅ Contrast ratio ≥ 70%
  6. ✅ Quiet zone ≥ 2 modules on all sides
  7. ✅ Module width within your scanner's spec

Fix any flagged issues before sending to the printer.


Summary

PDF417 barcodes are the backbone of parcel and freight logistics because they can carry a full shipping record in a single symbol with strong error correction. Whether you are integrating with UPS, FedEx, USPS, or a custom WMS, the key is to generate at sufficient resolution and error correction level, and verify before printing at scale.

Resources: - Generate a PDF417 barcode → - Batch generate from CSV → - Scan and verify a barcode → - API documentation → - PDF417 vs QR vs Code 128 — which format to use →

Try it in the generator

Generate PDF417, QR Code, Data Matrix, and more — free, no sign-up required.

Open generator →