택배사별 운송장 번호 형식 완전 가이드

택배사마다 고유한 운송장 번호 형식을 사용합니다. 이 형식을 이해하면 택배사 자동 식별, 입력값 검증, 추적 문제 디버깅에 큰 도움이 됩니다. 이 가이드에서는 전 세계 주요 택배사의 운송장 번호 형식을 정리해 드리겠습니다.

운송장 번호 형식이 중요한 이유

고객이 운송장 번호를 입력했을 때, 애플리케이션은 다음 세 가지를 처리해야 합니다.

  1. 유효성 검사 — 올바른 운송장 번호인지, 오타가 아닌지 확인
  2. 택배사 식별 — 어떤 택배사에 조회 요청을 보낼지 판단
  3. 올바른 라우팅 — 국제 운송장의 경우 여러 택배사에 조회가 필요할 수 있음

이 모든 과정의 출발점이 바로 운송장 번호 형식입니다.

국제 표준: UPU S10 형식

만국우편연합(UPU)이 정의한 S10 표준은 국제 우편 추적에 사용되는 범용 형식입니다.

형식: AALNNNNNNNNLAA
      ││         │││
      ││         ││└─ 국가 코드 (영문 2자리)
      ││         │└── 검증 숫자 (숫자 1자리)
      ││         └─── 일련번호 (숫자 8자리)
      │└───────────── 서비스 구분 (영문 1자리)
      └────────────── 서비스 유형 (영문 1자리)

예시:

  • EA123456789KR — 한국 우체국 EMS
  • RR987654321JP — 일본우편 등기우편
  • CP111222333US — USPS 국제 소포

서비스 유형별 접두사:

접두사서비스
EA-EZEMS (국제특급우편)
RA-RZ등기우편
CA-CZ소포
LA-LZ통상우편

S10 형식은 전 세계 우정사업본부가 공통으로 사용하므로, 이 형식을 이해해 두면 대부분의 국제 우편을 추적할 수 있습니다.

한국 택배사

CJ대한통운

  • 형식: 숫자 10~12자리
  • 정규식: ^\\d{10,12}$
  • 예시: 1234567890, 123456789012

롯데택배

  • 형식: 숫자 12자리
  • 정규식: ^\\d{12}$
  • 예시: 123456789012

한진택배

  • 형식: 숫자 10자리 또는 12자리
  • 정규식: ^\\d{10}$|^\\d{12}$
  • 예시: 1234567890

우체국택배

  • 형식: 국내 13자리(숫자) 또는 국제 S10 형식
  • 정규식: ^\\d{13}$ 또는 S10 패턴
  • 예시: 1234567890123, EA123456789KR

한국 택배사의 경우 대부분 10~13자리 숫자로 구성되어 있어 자릿수만으로 어느 정도 구분이 가능합니다. 다만 CJ대한통운과 한진택배처럼 자릿수가 겹치는 경우가 있어, 정확한 식별에는 추가 로직이 필요합니다.

일본 택배사

야마토 운수 (ヤマト運輸)

  • 형식: 숫자 12자리, 특정 접두사로 시작
  • 정규식: ^\\d{12}$
  • 예시: 123456789012

사가와 익스프레스 (佐川急便)

  • 형식: 숫자 12자리
  • 정규식: ^\\d{12}$
  • 예시: 123456789012

일본우편 (日本郵便)

  • 형식: 국제는 S10 형식, 국내는 숫자 11~13자리
  • 예시: RR123456789JP, 12345678901

일본 택배사는 야마토와 사가와 모두 12자리 숫자를 사용하므로 번호만으로 구분하기 어렵습니다. 접두사 패턴이나 체크섬을 활용한 추가 검증이 필요합니다.

미국 택배사

USPS

  • 서비스별 형식이 다양합니다:
    • Priority Mail: 숫자 22자리 (9400...으로 시작)
    • Express Mail: 13자리 (S10 형식)
    • Tracking: 숫자 20~22자리

FedEx

  • 형식: 숫자 12자리, 15자리 또는 20자리
  • 정규식: ^\\d{12}$|^\\d{15}$|^\\d{20}$
  • 예시: 123456789012

UPS

  • 형식: 1Z로 시작하는 18자리(영문+숫자 조합)
  • 정규식: ^1Z[A-Z0-9]{16}$
  • 예시: 1Z12345E0205271688

UPS는 1Z 접두사 덕분에 식별이 매우 쉽습니다. 반면 USPS와 FedEx는 자릿수가 겹치는 경우가 있어 추가 검증이 필요합니다.

유럽 택배사

DHL

  • 형식: 숫자 10자리 또는 20자리, 특정 접두사로 시작하기도 함
  • 정규식: ^\\d{10}$|^\\d{20}$|^[A-Z]{3}\\d{7}$
  • 예시: 1234567890, JJD01234567890

Royal Mail (영국)

  • 형식: GB 국가 코드를 사용하는 S10 형식
  • 예시: RR123456789GB

WhereParcel 자동 감지 기능

위에서 살펴본 것처럼 택배사별 운송장 형식은 매우 다양하고, 직접 모든 패턴을 구현하려면 상당한 노력이 필요합니다. WhereParcel의 자동 감지 기능을 사용하면 이 과정을 간단하게 처리할 수 있습니다.

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

API가 운송장 번호 패턴을 분석하여 택배사를 자동으로 식별하고 결과를 반환합니다.

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

유효성 검사 팁

운송장 번호를 처리할 때 다음 사항을 미리 적용하면 인식률을 크게 높일 수 있습니다.

  1. 공백과 하이픈 제거 — 고객이 운송장 번호를 복사할 때 불필요한 공백이나 서식이 포함되는 경우가 많습니다
  2. 대문자 통일 — S10 형식의 영문 부분은 대문자로 정규화해야 합니다
  3. 자릿수 우선 확인 — 정규식 매칭 전에 길이를 먼저 검사하면 불필요한 연산을 줄일 수 있습니다
  4. 체크섬 검증 활용 — S10 형식에는 검증 숫자(Check Digit)가 포함되어 있어, 수학적으로 유효성을 확인할 수 있습니다
function cleanTrackingNumber(input) {
  return input
    .replace(/[\s\-\.]/g, '')  // 공백, 하이픈, 마침표 제거
    .toUpperCase()              // 대문자 변환
    .trim();
}

마무리

운송장 번호 형식을 이해하면 더 나은 배송 추적 경험을 만들 수 있습니다. 하지만 수백 개 택배사의 형식을 직접 관리하는 것은 현실적으로 어렵습니다. WhereParcel의 자동 감지 기능은 500개 이상의 택배사 형식을 지원하며 지속적으로 업데이트되고 있습니다.

지원하는 택배사 전체 목록과 형식 정보는 택배사 문서에서 확인하실 수 있습니다.