Container tracking: how to track a shipping container step by step
Every ocean container carries an 11-character identity. Once you can read it, you can follow the box from gate-in at the origin port to gate-out at destination — including the transshipment legs most trackers hide.
Step 1 — read the container number
A container number follows ISO 6346: MSCU 123456 5. Three letters identify the owner, the fourth letter is the equipment category (almost always U), six digits are the serial and the last digit is a check digit calculated from the rest. If the check digit does not match, the number was mistyped — validate before you search.
Step 2 — identify the carrier
The owner prefix tells you which line to query:
| Carrier | Common prefixes | Accepts |
|---|---|---|
| MSC | MSCU, MEDU | Container or booking number, 4 letters + 7 digits. |
| Maersk | MAEU, MRKU | Accepts container, booking or bill of lading number. |
| COSCO | CSNU, COSU | Container or B/L; sailing schedule shown per leg. |
| CMA CGM | CMAU, ECMU | Container or booking reference. |
| ONE | ONEU, MOLU | Container, B/L or booking number. |
| Hapag-Lloyd | HLCU, HLXU | Container or B/L number. |
| Evergreen | EGHU, EISU | Container or B/L number. |
| HMM | HMMU, HDMU | Container, B/L or booking number. |
| ZIM | ZIMU, GSTU | Container or booking number. |
| Yang Ming | YMLU, YMMU | Container, B/L or booking number. |
| PIL | KKFU, PCIU | Container or B/L number. |
Prefixes are leasing-company owned in many cases, so a prefix is a strong hint, not proof. When in doubt, track by bill of lading number — it always belongs to the carrier that issued it.
Step 3 — track the container
Paste the number into TikTrake's free container tracking. The carrier is detected from the prefix, the port pair is validated against UN/LOCODE, and the voyage is drawn as real sea lanes — including each transshipment port as its own leg rather than one straight line from origin to destination.
Step 4 — read the events correctly
- Gate in — the box entered the origin terminal; it has not sailed.
- Loaded on vessel — on board, ETD applies from here.
- Transshipment discharged / loaded — the box changed vessel; expect several days of silence.
- Discharged at destination — arrived, but customs and demurrage clocks start now.
- Gate out — released to the trucker; the ocean leg is finished.
How the route is drawn (and why most maps are wrong)
A container almost never sails in a straight line. TikTrake builds the voyage as an ordered list of legs — port of loading, every transshipment port, then port of discharge — and draws each leg separately along real sea lanes, splitting the line correctly at the antimeridian. Progress is computed per leg, so a box waiting at a transshipment port does not show as "halfway across the ocean".
- Land leg included — the domestic pickup and warehouse legs render on the same canvas as the ocean route, drawn along real road routes rather than straight lines. Events are sorted chronologically, and if a courier scan is logged without a location, it inherits the location of the nearest event around it instead of leaving a gap on the map.
- Chinese addresses resolved properly — points inside mainland China are geocoded through AMap, and everywhere else through open geocoding services, so a branch name or depot resolves to real coordinates instead of collapsing to a city centre. The map only ever trusts the resulting latitude and longitude, never the raw text, and labels are shown in whatever language your browser is set to.
- City-only origins upgrade — a shipment that starts as "Guangzhou" moves to the first real facility event as soon as one exists.
- Privacy carriers — lines that mask recipient data are queried with the recipient's last four phone digits, so the timeline still resolves.
- Refresh is explicit — statuses are cached and only re-queried when you press refresh, so you never burn carrier quota on page loads. Scanning a container on your phone and opening it later on desktop shows the same record, because saved containers sync between devices through a retrying outbox — a scan made offline is queued and delivered as soon as a connection is back.
- Language follows you — the map and stop list render in the interface language while geocoding always uses the original source strings.
When tracking shows nothing
- The container is booked but not yet gated in — no events exist yet.
- You queried the wrong line; try the B/L number instead.
- The number has a typo — recheck the check digit.
- The box was reassigned to another booking after a rollover.
Frequently asked questions
- How do I track a shipping container?
- Take the 11-character container number (four letters plus seven digits, e.g. PIDU4105445), identify the carrier from the first three letters, and enter it on that carrier's tracking page or on a multi-carrier tracker. You will get the last port event, the vessel name and the estimated arrival.
- What does a container number look like?
- Three letters for the owner, one category letter (usually U), six serial digits and one check digit — for example MSCU1234565. The check digit validates the other ten characters, so a typo is detected immediately.
- Why does my container show no tracking events?
- Usually because the container has been assigned but not yet gated in at the origin port, or the number belongs to a different carrier than the one you queried. Tracking by bill of lading number instead of container number often returns data earlier.
- Can I track a container for free?
- Yes. Every major shipping line publishes free tracking, and TikTrake's public container tracking detects the carrier automatically and shows the vessel route port to port without an account.
