IMEI Validator

Check an IMEI's Luhn digit before you list a phone — and find out whether what you have is actually an IMEISV, which no checksum will ever validate.

🔒 Your data never leaves your browser.

IMEI, IMEISV, and the validator that always says "invalid"

An IMEI is 15 digits: 14 that identify the device plus a Luhn check digit. An IMEISV is 16 digits: the same 14, followed by a two-digit software version — and no check digit at all.

This is why so many IMEI validators reject perfectly good 16-digit numbers: they run Luhn over a value that was never meant to have a checksum. This tool recognises the difference and says so, instead of reporting a failure that is really a category error.

Where the number comes from

Dial *#06# on the phone. That is the authoritative reading — an IMEI copied from a box or a listing photo is exactly where transcription errors come from, and a wrong check digit usually means one digit was mis-read rather than that the phone is fake.

What the TAC can and cannot tell you

The first eight digits are the Type Allocation Code, which identifies the model. Turning a TAC into "iPhone 15 Pro, 256 GB" requires the GSMA's TAC database, which is licensed and not something we can embed in a browser tool. So this checker reports the code and stops there rather than guessing at a model name.

And what a valid IMEI does not prove

A correct check digit means the digits are consistent. It does not tell you whether the device is blacklisted, reported stolen, or carrier-locked — those live in databases held by carriers and the GSMA, not in the number itself.

Every check this tool runs (6 rules)

IMEI-F01Not 15 or 16 digits

An IMEI is 15 digits (14 identifying digits plus a Luhn check digit). An IMEISV is 16 digits, where the last two are the software version instead of a check digit.

Fix: Dial *#06# on the phone, or check Settings → About. A 14-digit value is an IMEI missing its check digit — this tool can compute it.

Source: 3GPP TS 23.003 (IMEI structure) and the Luhn algorithm from ISO/IEC 7812. Verified against real IMEIs in our regression tests.

IMEI-F02Contains non-digits

An IMEI is digits only. Spaces, hyphens and slashes on the label are formatting, not part of the number.

Source: 3GPP TS 23.003 (IMEI structure) and the Luhn algorithm from ISO/IEC 7812. Verified against real IMEIs in our regression tests.

IMEI-C01Luhn check digit does not match

The last digit of a 15-digit IMEI is a Luhn checksum over the first fourteen. A mismatch means a transcription error or a fabricated number.

Fix: Re-read the number from *#06# rather than from a box or listing photo.

Source: 3GPP TS 23.003 (IMEI structure) and the Luhn algorithm from ISO/IEC 7812. Verified against real IMEIs in our regression tests.

IMEI-C02IMEISV has no check digit

A 16-digit value is an IMEISV: the first 14 digits are the same identity, but the last two carry the Software Version Number instead of a check digit. There is nothing to verify — which is why software that "validates" a 16-digit IMEI by Luhn always rejects it.

Source: 3GPP TS 23.003 (IMEI structure) and the Luhn algorithm from ISO/IEC 7812. Verified against real IMEIs in our regression tests.

IMEI-S01Type Allocation Code (TAC)

The first eight digits are the TAC, which identifies the model. Resolving a TAC to an actual device requires the GSMA TAC database, which is licensed — so this tool reports the code without guessing the model.

Source: 3GPP TS 23.003 (IMEI structure) and the Luhn algorithm from ISO/IEC 7812. Verified against real IMEIs in our regression tests.

IMEI-P01Placeholder pattern

All digits identical or a sequential run. Some of these satisfy Luhn by coincidence, which is why a checksum alone does not prove an IMEI is real.

Fix: Use the IMEI from the device.

Source: 3GPP TS 23.003 (IMEI structure) and the Luhn algorithm from ISO/IEC 7812. Verified against real IMEIs in our regression tests.