Every carrier has a unique tracking number format. Understanding these formats helps with carrier auto-detection, input validation, and debugging tracking issues. This guide covers the most common formats from major carriers worldwide.

Why Tracking Number Formats Matter

When a customer enters a tracking number, your application needs to:

  1. Validate — Is this a real tracking number or a typo?
  2. Identify the carrier — Which carrier should we query?
  3. Route correctly — International numbers may need multiple carrier lookups

International Standard: S10 (UPU)

The Universal Postal Union (UPU) defines the S10 standard for international mail tracking:

Format: AALNNNNNNNNLAA
        ││         │││
        ││         ││└─ Country code (2 letters)
        ││         │└── Check digit (1 digit)
        ││         └─── Serial number (8 digits)
        │└───────────── Service indicator (1 letter)
        └────────────── Service type (1 letter)

Examples:

  • EA123456789KR — Korea Post EMS
  • RR987654321JP — Japan Post Registered Mail
  • CP111222333US — USPS International Parcel

Service types:

PrefixService
EA-EZEMS
RA-RZRegistered Mail
CA-CZParcels
LA-LZLetter Post

Korean Carriers

CJ Logistics (CJ대한통운)

  • Format: 10-12 digits
  • Pattern: ^\\d{10,12}$
  • Example: 1234567890, 123456789012

Lotte Global Logistics (롯데택배)

  • Format: 12 digits
  • Pattern: ^\\d{12}$
  • Example: 123456789012

Hanjin Express (한진택배)

  • Format: 10 or 12 digits
  • Pattern: ^\\d{10}$|^\\d{12}$
  • Example: 1234567890

Korea Post (우체국택배)

  • Format: 13 digits (domestic) or S10 format (international)
  • Pattern: ^\\d{13}$ or S10
  • Example: 1234567890123, EA123456789KR

Japanese Carriers

Yamato Transport (ヤマト運輸)

  • Format: 12 digits, starts with specific prefixes
  • Pattern: ^\\d{12}$
  • Example: 123456789012

Sagawa Express (佐川急便)

  • Format: 12 digits
  • Pattern: ^\\d{12}$
  • Example: 123456789012

Japan Post (日本郵便)

  • Format: S10 for international, 11-13 digits for domestic
  • Example: RR123456789JP, 12345678901

US Carriers

USPS

  • Formats vary by service:
    • Priority Mail: 22 digits (9400...)
    • Express Mail: 13 characters (S10 format)
    • Tracking: 20-22 digits

FedEx

  • Format: 12, 15, or 20 digits
  • Pattern: ^\\d{12}$|^\\d{15}$|^\\d{20}$
  • Example: 123456789012

UPS

  • Format: Starts with 1Z, 18 characters total
  • Pattern: ^1Z[A-Z0-9]{16}$
  • Example: 1Z12345E0205271688

European Carriers

DHL

  • Format: 10 or 20 digits, may start with specific prefixes
  • Pattern: ^\\d{10}$|^\\d{20}$|^[A-Z]{3}\\d{7}$
  • Example: 1234567890, JJD01234567890

Royal Mail (UK)

  • Format: S10 format with GB country code
  • Example: RR123456789GB

Auto-Detection with WhereParcel

Instead of implementing all these patterns yourself, use WhereParcel’s auto-detection:

curl -X POST https://api.whereparcel.com/v2/track \
  -H "Authorization: Bearer YOUR_API_KEY:YOUR_SECRET_KEY" \
  -d '{"trackingItems": [{"carrier": "auto", "trackingNumber": "1Z12345E0205271688"}]}'

The API automatically identifies the carrier and returns results:

{
  "success": true,
  "data": {
    "carrier": "us.ups",
    "carrierName": "UPS",
    "trackingNumber": "1Z12345E0205271688",
    "status": "delivered"
  }
}

Validation Tips

  1. Strip whitespace and dashes — Customers often copy tracking numbers with extra formatting
  2. Normalize case — S10 numbers should be uppercase
  3. Check length first — Quick elimination before regex matching
  4. Use checksum validation — S10 numbers have a check digit you can verify
function cleanTrackingNumber(input) {
  return input
    .replace(/[\s\-\.]/g, '')  // Remove spaces, dashes, dots
    .toUpperCase()              // Normalize case
    .trim();
}

Summary

Understanding tracking number formats helps you build better tracking experiences. But instead of maintaining carrier-detection logic yourself, consider using WhereParcel’s auto-detection feature — it handles 60+ live carrier formats today (more on request) and is updated continuously.

For Korean carriers specifically, see our Korean carrier integration guide. For the full list of supported carriers and their formats, see our carriers page.

Or just paste a tracking number into our free Tracking Number Validator — it auto-detects the carrier from the format and shows the matching service type (no signup needed).

For a deep dive into the international S10 standard alone — including the exact check-digit formula and validation code — see UPU S10 Tracking Number Format Explained.