/
FreightUtils.com

Identifier Validator

Validate container (ISO 6346), Air Waybill and IMO check digits — or parse a string to find them

ISO 6346 · IATA AWB · IMO · Check digit + parse · Free API

ValidateLive API
Results
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 checks whether a freight identifier is well-formed by recomputing its check digit, and can parse an arbitrary string to find and validate every identifier inside it. 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. Pass a single value with its type, or hand the endpoint a whole line of text and let it extract the identifiers.

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)

Parse a string

Pass text= with any string and the validator finds every container, AWB and IMO identifier in it, validating each — handy for screening a booking email or a messy reference field. 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.

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