- An IMEI is 15 digits: an 8-digit TAC, a 6-digit serial number, and a 1-digit Luhn check digit.
- The TAC is assigned by the GSMA and identifies the brand owner and exact model.
- The final digit is a Luhn checksum computed from the first fourteen, so a valid IMEI self-checks.
- Bulk buyers run the Luhn check on a manifest first, because typo'd or fabricated IMEIs fail it for free.
- A valid checksum does not mean the device is clean. Blacklist status needs a separate registry lookup.
The short answer
An IMEI is a 15-digit identifier made of three parts: the first 8 digits are the Type Allocation Code (TAC) assigned by the GSMA to identify the manufacturer and model, the next 6 digits are a serial number assigned by the TAC holder to identify the individual device, and the final digit is a Luhn check digit calculated from the first fourteen. Because that last digit is a mathematical function of the others, a correctly formed IMEI validates against itself, which is why the checksum is the first filter a careful buyer applies to a list of IMEIs.
That structure is defined in the GSMA's IMEI allocation rules and is the same across every phone on a mobile network. Once you can read the three parts, an IMEI stops being an opaque string and becomes a small set of facts: which model, which unit, and whether the number is even internally consistent. The rest of this guide walks each part, computes the check digit by hand, and shows where the IMEI's usefulness ends.
The 15-digit anatomy
Every IMEI splits into the same three fields. Reading them in order tells you the model, the unit, and the self-check.
| Field | Digits | Assigned by | What it identifies |
|---|---|---|---|
| TAC (Type Allocation Code) | 8 | GSMA | Brand owner and exact model |
| Serial number (SNR) | 6 | TAC holder (manufacturer) | The individual device within that model |
| Check digit | 1 | Computed (Luhn) | Self-check over the first 14 digits |
Take the example IMEI 353161052142844. The TAC is 35316105, the serial number is 214284, and the check digit is 4. According to the GSMA and to reference sources such as the Wikipedia IMEI entry and TUV SUD's IMEI documentation, this 8-6-1 layout is fixed, which is why any string that is not exactly 15 digits, or whose last digit fails the Luhn test, cannot be a valid IMEI.
What the TAC reveals
The TAC is the part of the IMEI that carries meaning you can look up. It maps to a manufacturer and a specific model, because the GSMA issues TACs to brand owners for each device type.
Two phones of the same model, coming off the same line, share the same TAC. Their serial numbers differ. So a TAC lookup answers make and model, not identity: it will tell you that a device is, say, a particular iPhone or Galaxy model, but not which individual handset you are holding. For a wholesale buyer, that is still valuable. If a manifest claims a lot of one model but the TACs decode to a different model, or to a mix of models, that mismatch surfaces immediately from the numbers alone, before anything is unboxed. TAC-level decoding is exactly what tools like our bulk IMEI check surface across a whole list at once.
Trading this stock yourself? Aikon is a live floor for wholesale electronics: registered companies post buy and sell offers and deal with each other directly. Join free.
The Luhn check digit, worked by hand
The final IMEI digit is not data, it is a checksum. It is produced with the Luhn formula, the same algorithm used on payment card numbers, and you can reproduce it by hand in a minute.
The method: take the first 14 digits. Starting from the second digit, double every second digit. If a doubled value is greater than 9, subtract 9. Add all the resulting values together. The check digit is whatever you must add to that sum to reach the next multiple of ten. Here is the full computation for the base 35316105214284.
| Position | Digit | Action | Value added |
|---|---|---|---|
| 1 | 3 | keep | 3 |
| 2 | 5 | double to 10, subtract 9 | 1 |
| 3 | 3 | keep | 3 |
| 4 | 1 | double | 2 |
| 5 | 6 | keep | 6 |
| 6 | 1 | double | 2 |
| 7 | 0 | keep | 0 |
| 8 | 5 | double to 10, subtract 9 | 1 |
| 9 | 2 | keep | 2 |
| 10 | 1 | double | 2 |
| 11 | 4 | keep | 4 |
| 12 | 2 | double | 4 |
| 13 | 8 | keep | 8 |
| 14 | 4 | double to 8 | 8 |
| Sum | 46 | ||
The digit sum is 46. The next multiple of ten is 50, and 50 minus 46 is 4, so the check digit is 4 and the complete IMEI is 353161052142844. To validate an existing 15-digit IMEI instead, run the same doubling rule across all 15 digits: if the total is a multiple of ten, the checksum is correct. Change any single digit and the total stops being a multiple of ten, which is exactly how the check catches a mistyped number.
Try it: IMEI checksum validator
Paste a 15-digit IMEI below. The Luhn check runs entirely in your browser, with no network calls and nothing stored.
IMEI vs IMEI2 vs MEID vs ESN vs serial number
Several device identifiers look similar and often sit on the same label. They answer different questions and belong to different network technologies.
| Identifier | Format | Technology | What it is |
|---|---|---|---|
| IMEI | 15 decimal digits | GSM, UMTS, LTE, 5G | The device identity on mobile networks |
| IMEI2 | 15 decimal digits | Dual-SIM devices | The second IMEI, one per SIM slot or radio |
| MEID | 14 hexadecimal digits | CDMA2000 | The CDMA equivalent of an IMEI |
| ESN | Older code | Legacy CDMA | The predecessor to MEID, now largely retired |
| Serial number | Manufacturer format | Any | The maker's own unit identifier |
A few clarifications a buyer runs into. A dual-SIM phone carries two IMEIs, commonly labeled IMEI1 and IMEI2; each is a full, independent IMEI with its own serial and check digit, usually sharing the same TAC because they belong to one model. The MEID is hexadecimal rather than decimal, per the Wikipedia mobile equipment identifier entry, which is the quickest way to tell it apart from an IMEI at a glance. ESN is the older CDMA electronic serial number that MEID replaced. And the manufacturer serial number is a separate identifier again, used for warranty and internal tracking, not for network identity.
Why bulk buyers validate checksums before paying
On a large lot, the manifest is a spreadsheet of IMEIs, and the checksum is the cheapest quality gate that exists. It costs nothing and catches a whole class of problems instantly.
Two failure modes show up constantly. The first is honest error: an IMEI transcribed by hand or exported from a bad system drops or transposes a digit, and the Luhn check flags it because the arithmetic no longer closes. The second is fabrication: padded manifests where rows were invented to inflate a count, or numbers copied and lightly altered. Randomly changed digits almost always break the checksum. Running Luhn across the whole list turns a claim of, say, one thousand units into a hard count of how many rows are even internally valid, before a single paid registry query. That is why format and checksum validation runs first, and the paid blacklist check runs only on the rows that survive it. This is the same sequencing described in our guide to IMEI checks for wholesale buyers.
How to bulk-validate a manifest
For one number, the validator above is enough. For a full manifest, you want to apply the same check to every row at once and get back a clean pass or fail list.
- Normalize the column. Strip spaces, dashes, and stray characters so each cell is 15 digits.
- Run the format and Luhn check on every row. Our bulk IMEI check tool does this in the browser and marks each IMEI valid or invalid, with no upload.
- Quarantine the failures. Any row that is not 15 digits or fails Luhn is a typo or a fabrication; pull it out and query the seller before anything else.
- Only then run the paid status check. Send the surviving, valid IMEIs to a blacklist and status service, so you are never paying to query numbers that were never real.
- Sample the physical units. Dial the on-device code and compare a random handful against the manifest to confirm the paper matches the metal.
What an IMEI does not tell you
A valid IMEI is a necessary check, not a sufficient one. Passing the checksum only proves the number is well formed, not that the device behind it is genuine or clean.
Critically, the Luhn check says nothing about blacklist status. Whether a device is reported lost, stolen, or financially blocked lives in the GSMA device registry and carrier block lists, and that requires a separate database lookup, covered in our explainer on GSMA blacklist status and what clean means and in the blacklisted IMEI glossary entry. A well-formed IMEI can still be blacklisted. It can also be cloned, where multiple physical phones share one valid IMEI, which passes the checksum every time. And a valid IMEI reveals nothing about carrier lock, activation lock, or the originality of internal parts. Those are all distinct checks. The correct mental model is a funnel: the checksum filters out numbers that cannot be real, the registry filters out numbers that are real but blocked, and physical inspection filters out everything the numbers cannot see.
Read together, the IMEI's structure gives a buyer a fast, free first pass, and a clear map of where that pass stops and paid verification has to begin. On a busy floor, knowing exactly what each digit does, and does not, promise is what keeps a manifest honest.