Identifier Validator

Paste any text and find & validate every container (ISO 6346), Air Waybill and IMO number in it — or check a single identifier by type

Parse any text · ISO 6346 · IATA AWB · IMO · Free API

ValidateLive API
Paste a container number, AWB, IMO number, or a line of text above
Structural validation only — a valid check digit means the identifier is well-formed, not that the container/shipment/vessel exists or is active. Not a registry lookup.

The Freight Identifier Validator takes any text — a booking line, an email, a messy reference field — and finds and validates every freight identifier inside it, recomputing each one’s check digit. You can also validate a single identifier by type. It covers three schemes used across container, air and sea freight: the ISO 6346 shipping-container number, the IATA air waybill (AWB) number, and the IMO ship identification number. Each check-digit algorithm is implemented from the public scheme — no standard text is reproduced, and no external lookup is made.

This is structural validation: a valid check digit confirms the identifier is correctly constructed, not that the container, shipment or vessel actually exists or is active. Hand the endpoint a whole line of text and let it extract the identifiers, or pass a single value with its type.

Parse a string (the main use case)

Pass text= with any string — a booking line, an email, a messy reference field — and the validator finds every container, AWB and IMO identifier in it and validates each. Identifiers are returned in the order they appear.

GET /api/validate?text=Box CSQU3054383 on AWB 020-58717481 to vessel IMO9074729
→ found: 3 identifiers (container ✓, awb ✓, imo ✓)

Every response carries a _source citing the relevant scheme (ISO 6346 / IATA AWB / IMO) and is computed deterministically by freightutils.com. A string with no recognisable identifier returns an empty found list with a note. To validate a single identifier instead, pass value= with its type= — the per-scheme rules and worked examples below apply.

Shipping container — ISO 6346

A container number is 4 letters (a 3-letter owner code + a 1-letter equipment category — U freight container, J detachable equipment, Z trailer/chassis) followed by a 6-digit serial and a check digit. Each letter is valued 10, 11, 12, … skipping every multiple of 11; each digit keeps its value; each is multiplied by 2position (1, 2, 4, …, 512), summed, then taken modulo 11 (a remainder of 10 becomes 0).

GET /api/validate?value=CSQU3054383&type=container → valid: true (check digit 3)
GET /api/validate?value=CSQU3054384&type=container → valid: false (expected 3, got 4)

Air waybill — IATA modulus 7

An AWB is 11 digits: a 3-digit airline prefix plus an 8-digit serial. The final serial digit is the check digit, equal to the first 7 serial digits (as a number) modulo 7. The validator also names the operating airline from the prefix, reusing the existing airline dataset. Because the modulus is 7, a valid AWB never ends in 7, 8 or 9.

GET /api/validate?value=020-58717481&type=awb → valid: true (Lufthansa, check digit 1)
GET /api/validate?value=020-58717483&type=awb → valid: false (expected 1, got 3)

IMO ship number — modulus 10

An IMO number is the letters “IMO” plus 7 digits. The first six digits are multiplied by 7, 6, 5, 4, 3 and 2 respectively; the sum, modulo 10, is the seventh (check) digit.

GET /api/validate?value=IMO9074729&type=imo → valid: true (check digit 9)
GET /api/validate?value=IMO9074720&type=imo → valid: false (expected 9, got 0)

Frequently asked questions

What does “valid” actually mean here?
That the identifier’s check digit is correct — i.e. it is well-formed. It does not mean the container, shipment or vessel exists, is active, or is in any status. This is not a registry or tracking lookup.
Why can’t an AWB end in 7, 8 or 9?
The AWB check digit is the serial modulo 7, so it is always 0–6. A final digit of 7, 8 or 9 is invalid on its face.
Does it resolve the container’s owner company?
No. It reports the 3-letter owner prefix and the equipment category, but resolving the prefix to an owner company needs the BIC registry, which is out of scope for v1. For AWBs it does name the airline, reusing the existing airline-prefix dataset.
REST API
GET/api/validate
GET /api/validate?text=CSQU3054383 on IMO9074729
View API documentation →
📅Methods: ISO 6346 + IATA AWB (mod 7) + IMO number scheme — public check-digit algorithms, implemented not reproduced.

Structural validation only — a valid check digit means the identifier is well-formed, not that the container, shipment or vessel exists or is active. Not a registry lookup, and not legal or compliance advice.

Stay updated
ADR 2027 changes, new tools, and freight industry updates. No spam, unsubscribe anytime.
Related Tools
Look up an airline by AWB prefix Container type dimensions & capacity Air cargo ULD specifications