Free Container Number Validator

Check any ISO 6346 container number, IMO ship number, SCAC, UN/LOCODE, USDOT or MC number in seconds — and when a number fails, see the valid numbers it was one keystroke away from being.

No signup required. Six identifier types, did-you-mean repair, owner-prefix lookup, and the check-digit math shown.

How to use this tool
  1. Paste any logistics identifier — a container number, IMO number, SCAC, UN/LOCODE, USDOT or MC number.
  2. Click Check it — the tool detects the type automatically.
  3. Read the verdict card. For container numbers, the boxed digit in the plate is the check digit — and well-known owner prefixes get named.
  4. Click Show the math to watch the full check-digit calculation on your number.
  5. If the number is invalid, the Did you mean? panel lists every valid number one edit away — click a candidate to re-check it.
  6. Need test data? Mint a valid container number at the bottom of this card.

Identifier

Case, spaces and hyphens are normalized automatically — paste it as it appears on the paperwork.

Need a valid test container number? Mint one.

QA teams seeding warehouse or OMS test data need numbers that pass real validation. Pick an owner code and serial — or let us roll one — and get a correct ISO 6346 check digit.

Check out the full version in OmniOrders.

Want malformed IDs caught by the system — with orders, inventory and shipments synced across every sales channel?

See Demo Start Free Trial

Resources

freightid on PyPI → Source on GitHub → Prefer code?
pip install freightid

What this tool checks

IdentifierWhat gets validated
ISO 6346 container numberStructure, equipment category, and the full check-digit calculation — shown step by step
IMO ship numberSeven digits and the weighted-sum check digit, shown step by step
SCAC carrier codeFormat, plus the U / X / Z suffix conventions as context
UN/LOCODEFormat and a real ISO 3166-1 country check (0 and 1 are excluded by the standard)
USDOT numberFormat — no check digit exists, and we say so instead of inventing one
MC docket numberFormat, with the MC- prefix normalized away

One honest limit, stated up front: this tool proves math, never registration. A container number can be mathematically perfect and still belong to no real container — every result carries registration: "not_checked" so nothing downstream can blur that line.

When a number fails: single-edit repair

Check digits exist to catch one-character slips — which means a failing number usually sits one edit away from the number it was meant to be. When a container or IMO number fails here, the tool tries every transposition, substitution, insertion and deletion, keeps only the candidates that pass the full check, and ranks them by how likely the slip was: adjacent-character swaps first, because they're the classic data-entry error the ISO 6346 scheme was designed around. The honesty rule still applies — a repaired number is mathematically valid, not confirmed to exist. Confirm against your booking, manifest or the registry before acting on it.

Container prefixes also get an owner name when they match a seeded set of 34 well-known BIC codes — Maersk, MSC, CMA CGM, Hapag-Lloyd, Evergreen, Triton, Textainer and friends. That's a convenience subset, not the register: an unknown prefix here proves nothing. The full, authoritative register lives at bic-code.org.

Frequently asked questions

What is a container check digit?

The last digit of an ISO 6346 container number, computed from the other ten characters. Every letter maps to a number (A=10 to Z=38, skipping multiples of 11), each position is weighted by a power of two, the weighted values are summed, and the remainder after dividing by 11 gives the check digit — with a remainder of 10 mapping to 0. It exists so that data-entry typos announce themselves.

How is the ISO 6346 check digit calculated?

Take the four letters and six serial digits, convert letters to their ISO values, multiply each character by 2 to the power of its position (1, 2, 4, 8 … 512), add everything up, and divide by 11. The remainder is the check digit; remainder 10 becomes 0. Paste any number above and press "Show the math" to watch the whole calculation on your number.

Why is my container number showing as invalid?

Three common reasons: a typo somewhere in the eleven characters (the check digit exists to catch exactly this), a fourth character that isn't U, J or Z (the only equipment categories ISO 6346 allows), or a number that was read or keyed incorrectly from paperwork. The result panel shows which check failed and what the correct check digit would have been.

Does a valid result mean the container exists?

No — and this tool will never pretend otherwise. Valid means the structure and arithmetic are correct. Whether that number is registered to a real box is a question for the BIC registry, not for math. Every result here carries registration: "not_checked" for precisely that reason.

What is an IMO number?

A seven-digit identifier assigned to a ship for life — it survives changes of name, flag and owner. The seventh digit is a check digit computed from the first six. The Ever Given, famous for blocking the Suez Canal in 2021, is IMO 9811000; try it in the checker above and the math comes out even.

Can I generate a test container number?

Yes — the mint tool above produces numbers with correct check digits from any owner code and serial, which is exactly what you want for seeding test data in a WMS or OMS without touching real containers. The same function is available in code via pip install freightid.

Can this tool fix a mistyped container number?

It can show you what the number probably was. When validation fails, the tool lists every single-edit variant — one transposed, substituted, inserted or deleted character — that passes the full ISO 6346 or IMO check, ranked with adjacent-character swaps first. Treat the candidates as leads, not answers: a repaired number is mathematically valid, but only your booking, manifest or the BIC registry can confirm it refers to a real container.

How do I find out who owns a container prefix?

The first three letters of a container number are the owner code and the fourth is the equipment category — together they form the prefix, like TCLU. This page names the owner for a seeded set of 34 well-known prefixes covering the major carriers and leasing companies. The authoritative source is the BIC register at bic-code.org — a prefix this page doesn't recognize is not evidence that it's unissued.