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:
- Validate — Is this a real tracking number or a typo?
- Identify the carrier — Which carrier should we query?
- 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 EMSRR987654321JP— Japan Post Registered MailCP111222333US— USPS International Parcel
Service types:
| Prefix | Service |
|---|---|
| EA-EZ | EMS |
| RA-RZ | Registered Mail |
| CA-CZ | Parcels |
| LA-LZ | Letter 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
- Priority Mail: 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
- Strip whitespace and dashes — Customers often copy tracking numbers with extra formatting
- Normalize case — S10 numbers should be uppercase
- Check length first — Quick elimination before regex matching
- 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.