Home / ISO 6346 Check Digit Calculator
ISO 6346 check digit
calculator and validator.
Paste eleven characters and find out whether they add up.
Every shipping container number ends in a digit that is computed from the ten characters in front of it. Enter all eleven and this tells you whether the last one is right. Enter just the first ten, four letters and six digits, and it works out what the eleventh should be. Either way it shows you the whole sum, row by row, so you can follow it or check it by hand.
It is free, there is nothing to sign up for, and nothing you type leaves your browser. Read the section on what a matching check digit does not prove before you rely on the answer for anything that matters, because it proves less than most people assume.
Enter a container number
Eleven characters to check one, ten to work one out. Case does not matter, and spaces, hyphens and full stops are ignored, so a number copied off a bill of lading works exactly as well as one typed off a door. Nothing is sent anywhere and nothing is saved.
The field starts empty on purpose, and the answer updates as you type. If you would rather not type a real number in, the worked example further down this page runs the same arithmetic on a number we picked.
Waiting for a number
Type or paste a container number above. If it is eleven characters, this says whether the check digit agrees with the other ten. If it is ten, this gives you the digit that belongs on the end.
The arithmetic, row by row
| Position | Character | Value | Weight | Product |
|---|
- Write out the first ten characters of the number. Leave the eleventh, the check digit, to one side.
- Give each character a value. A digit is worth its face value. A letter comes from the table below.
- Multiply the first character by 1, the second by 2, the third by 4, and keep doubling: 8, 16, 32, 64, 128, 256, 512.
- Add the ten products together.
- Divide the total by 11 and keep the remainder. That is the check digit. If the remainder comes to 10, the check digit is 0.
- Compare it to the digit in the box at the end of the number. They should match.
The full letter table and a ten row worked example are both further down this page, and neither needs JavaScript. The only thing the script adds is doing it for you.
Eleven characters, four parts
An ISO 6346 container number is eleven characters long and it always breaks into the same four parts. Reading left to right: three letters of owner code, one category letter, six digits of serial number, and one check digit. It is stencilled on both cargo doors, on the roof so it can be read from above, and usually on the side walls too, and every copy of it should say the same thing.
The check digit is the one inside the small box at the end. That box is not decoration. It marks the character that is computed rather than assigned, and it is the reason a container number can catch its own typos.
Directly under the ID on most containers there is a second, shorter code, four characters like 45G1. That is the size and type code, it describes the box rather than identifying it, and it is not part of the eleven characters this page checks. Our post on how to read a container ID number decodes both codes side by side on a real example.
KEIU 900079 8
- Owner code
- KEI, the registered prefix of a fleet
- Category
- U, freight container
- Serial
- 900079, this one unit
- Check digit
- 8, computed from the other ten
The fourth character
The category letter is the one part of the number people get wrong most often, because there are only three legal values and one of them accounts for almost everything.
- UFreight container
- JDetachable freight container related equipment
- ZTrailers and chassis
On a dry storage box it is U, effectively always. If you have read anything else off a stencil, a worn U is far likelier than a category you have not met before, so re-read the character before you go looking for an explanation. The tool above still runs the arithmetic on any letter, because the formula is defined for all of them, and flags the character rather than refusing to answer.
The arithmetic, and why it is shaped like that
ISO 6346 defines the check digit in an annex, and the whole method is three steps long. Everything below can be done on the back of an envelope, which is the point: a check that needs a database is no use to somebody standing in a yard.
Turn each character into a number
Digits are worth their face value. Letters come from a fixed table that starts at A equals 10 and then skips every multiple of 11. That skip is the only clever part of the whole scheme. A value divisible by the modulus is invisible to the modulus, so if any letter were worth 11, 22 or 33 it could be swapped for another letter without changing the answer, and the check would silently stop catching that swap.
Multiply by a doubling weight
The weights run 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, left to right, which is 2 to the power of the position. Because every weight is different, moving a character to a different position changes its contribution, which is how the check catches a transposition. Two digits swapped over is one of the two commonest mistakes people make copying a number down, and a scheme that just added the characters up would miss all of them.
Sum, divide by 11, keep the remainder
Add the ten products. Divide the total by 11. The remainder is the check digit. There is one exception and it is the only special case in the standard: a remainder of 10 would not fit in a single character, so it is written as 0. That means 0 in the box has two different causes, a remainder of 0 and a remainder of 10, and the tool above shows you which one you got.
The letter table
All twenty six values, generated from the skip rule rather than typed in, so the rule above is the only thing this page depends on.
| Letter | Value |
|---|---|
| A | 10 |
| B | 12 |
| C | 13 |
| D | 14 |
| E | 15 |
| F | 16 |
| G | 17 |
| H | 18 |
| I | 19 |
| Letter | Value |
|---|---|
| J | 20 |
| K | 21 |
| L | 23 |
| M | 24 |
| N | 25 |
| O | 26 |
| P | 27 |
| Q | 28 |
| R | 29 |
| Letter | Value |
|---|---|
| S | 30 |
| T | 31 |
| U | 32 |
| V | 34 |
| W | 35 |
| X | 36 |
| Y | 37 |
| Z | 38 |
The gaps are at 11, 22 and 33. That is why L jumps from K at 21 straight to 23, and why V jumps from U at 32 to 34.
A worked example: KEIU9000798
The same number our ISO 6346 post walks through, run here by the same code that runs the calculator above. It needs no JavaScript, because it was computed when this page was built.
| Position | Character | Value | Weight | Product |
|---|---|---|---|---|
| 1 | K | 21 | 1 | 21 |
| 2 | E | 15 | 2 | 30 |
| 3 | I | 19 | 4 | 76 |
| 4 | U | 32 | 8 | 256 |
| 5 | 9 | 9 | 16 | 144 |
| 6 | 0 | 0 | 32 | 0 |
| 7 | 0 | 0 | 64 | 0 |
| 8 | 0 | 0 | 128 | 0 |
| 9 | 7 | 7 | 256 | 1,792 |
| 10 | 9 | 9 | 512 | 4,608 |
| Sum of the ten products | 6,927 | |||
| 6,927 divided by 11 is 629, remainder | 8 | |||
| Check digit, and the digit in the box on the door | 8 | |||
The remainder is 8, the boxed digit on the door is 8, and they agree. The number was written down correctly.
What a matching check digit does not prove
This is the part of the page worth your time. A check digit that agrees is a good sign about one narrow thing: the eleven characters are consistent with each other, so whoever wrote the number down probably wrote it down right. That is the entire claim. It is a spell check on a string of characters. It is not evidence about a container, and the list below is not hedging, it is the actual scope of the arithmetic.
Five things people read into a matching check digit, and what it actually says. Scroll the table sideways on a small screen
| What people assume | What the arithmetic actually supports |
|---|---|
| The container exists | It does not show that. The formula runs on a string of characters and has no idea whether there is any steel behind them. Any correctly formed number passes, including one invented on the spot, and inventing one that passes takes about a minute with this page open. |
| The seller owns it | Ownership of one individual unit is not published anywhere. The three letter owner code is a fleet prefix, and the BIC Code Register tells you which company holds that prefix today, which may not be who owned the box when it was built and is not who is selling it to you. Ask the seller for their own paperwork. |
| The container is in good condition | A matching number says nothing about rust, the floor, the door seals, or whether the doors still line up. Those are questions for photographs and a walk around the box in daylight. Our condition guide covers what the grades actually mean and what to look at. |
| It has passed an examination | Separate question, separate marking, and one the number cannot answer. Examination status lives on the CSC plate and its decals, not in the ID, and no free public lookup returns a specific container's current status. Our container certification guide explains what the plate does and does not record, and our inspector finder lists certified inspectors by state if you want a qualified person to look at it. |
| This number belongs to this container | The arithmetic checks the number, not the pairing. A stencil can be repainted and a plate can be replaced, both for entirely ordinary reasons. What a passing check digit tells you is that the characters in front of you are internally consistent, whoever painted them there. |
Steel Box Direct sells used Wind and Water Tight shipping containers. We built this page because we already had the arithmetic written down and a free tool that shows its working seemed more useful than a fourth page about ourselves. We do not perform inspections, we do not issue certificates, and we are not a registry. This tool checks arithmetic on a number, and that is the whole of what it does.
Re-read it off the box before you conclude anything at all. On a worn stencil at dusk, 8 and B, 0 and O, 1 and I, and 5 and S are all easy to confuse, and a misread character is far and away the commonest cause of a failure. If it still fails after a careful second look, ask the seller where their number came from. A typo somewhere in a chain of paperwork is the ordinary explanation, and it is worth resolving rather than ignoring.
BIC publishes the official calculator
The Bureau International des Containers is the body that maintains the owner code registry, and it publishes its own free check digit calculator. That one is the official one. This page is not affiliated with BIC, not endorsed by BIC, and carries no authority of its own beyond implementing arithmetic that anybody can verify by hand.
Their calculator does something ours does not: you give it an owner code and a range of serial numbers and it returns up to a hundred numbers at once with their check digits, which is what you want if you are numbering a batch rather than checking one box. Ours does the opposite job. It takes one number, in either direction, and shows you every step of the sum, because the useful thing to know at a tailgate is usually not just the answer but whether you can trust the answer you were given.
One practical note, learned the hard way: the calculator does not live under the owner code register path on their site. Go to the calculator URL directly or you get a "no code found" page, which looks like a broken tool and is not one.
BIC Check Digit Calculator
Free, no login, run by the registry itself.
bic-code.org/check-digit-calculatorExternal site, opens in a new tab. Steel Box Direct is not affiliated with BIC and has no relationship with them beyond using their public register like everybody else.
Check digits, answered straight
What is a container check digit?
It is the eleventh character of a shipping container number, the single digit painted inside a box at the end of the ID. It is not chosen by anybody. It is computed from the ten characters in front of it by a formula defined in ISO 6346, so the number carries its own proof that it was written down correctly. It works the way the last digit of a credit card number works: if one character gets mistyped or misread, the arithmetic stops agreeing and the error shows up before it travels any further.
How do you calculate the check digit on a shipping container?
Turn each of the first ten characters into a number. Digits keep their face value. Letters use a fixed table that starts at A equals 10 and skips every multiple of 11, so A is 10, B is 12, K is 21, L is 23, U is 32 and Z is 38. Multiply each value by a doubling weight running 1, 2, 4, 8 and so on up to 512, left to right. Add the ten products, divide the total by 11, and the remainder is the check digit. There is one exception: a remainder of 10 becomes a check digit of 0, because a check digit has to fit in one character.
What does it mean if a container number fails the check digit?
Almost always that a character was misread rather than that anything is wrong with the container. Read the number off the box again before you conclude anything, because 8 and B, 0 and O, 1 and I, and 5 and S all look alike on a worn stencil at dusk. If the number still fails after a careful re-read, ask the seller where their number came from. A transcription error somewhere in a chain of paperwork is the ordinary explanation.
Does a valid check digit mean the container is legitimate?
No. It means the eleven characters are arithmetically consistent with each other, and that is all it means. Any correctly formed number passes, including one somebody made up on the spot, because the formula has no idea whether a container exists. A matching check digit tells you nothing about who owns the unit, what condition it is in, whether it has ever been examined, or whether the number stencilled on the door was ever the number that belonged to that door. Treat it as a spell check on a string of characters, not as provenance.
Is this the official BIC check digit calculator?
No. The Bureau International des Containers, the body that maintains the owner code registry, publishes its own free calculator at bic-code.org, and that one is the official one. This page is not affiliated with BIC, is not endorsed by BIC, and carries no authority of its own. It implements the arithmetic ISO 6346 defines and shows every step of it, which is the one thing it does that the official calculator does not. If you want the authoritative answer, use theirs. If you want to see why the answer is what it is, or you need to check a number somebody has already given you, use this.
What is the fourth letter in a container number?
It is the equipment category identifier, and ISO 6346 defines exactly three: U for a freight container, J for detachable freight container related equipment, and Z for trailers and chassis. On a storage container or any ordinary dry box it is U, effectively without exception. If you have read something else off a stencil, the likeliest answer is that it is a worn U rather than a category you have not met, so re-read the character before you go looking for an explanation.
Where is the container number written on a container?
In several places, and they should all agree. It is stencilled on both cargo doors at the right hand end, on the roof so it can be read from a crane or a gantry, and usually on both side walls near the corner. The check digit is the digit inside the small box at the end. Directly underneath the ID on most boxes is a separate four character size and type code, something like 45G1, which describes the container rather than identifying it and is not part of the eleven characters this page checks.
Can you look up who owns a container from its number?
You can look up the three letter owner code, which is the registered prefix of a fleet, in the public BIC Code Register. That tells you which company holds that prefix today, which is not necessarily the company that owned the unit when it was built and is not the company that sold it to you. There is no public record of who owns one individual container. Used containers change hands repeatedly and nobody publishes the chain, so ask the seller to show you their own paperwork rather than expecting a database to do it.
Does this calculator send my container number anywhere?
No. The arithmetic runs entirely in your browser, in about a dozen lines of JavaScript that arrive with the page. There is no request to any server when you type, nothing is stored, nothing is logged, and there is nothing to sign up for. Once the page has loaded it works with no connection at all, which is useful in a container yard, where that is often the situation.
