IMEI / TAC Decoder

Decode any IMEI or IMEISV to extract TAC, SNR, check digit and software version. Validates Luhn checksum and identifies the approval body from the Reporting Body Identifier.

IMEI / IMEISV structure (3GPP TS 23.003)

IMEI — 15 digits

TAC (8) + SNR (6) + CD (1)

CD = Luhn check digit

IMEISV — 16 digits

TAC (8) + SNR (6) + SVN (2)

SVN = Software Version Number

Enter a 15-digit IMEI or 16-digit IMEISV above to decode.

IMEI Structure Reference

An IMEI uniquely identifies a physical mobile device. It is defined by 3GPP TS 23.003 and the GSMA PRD TS.06. Unlike the IMSI (which identifies the subscriber/SIM), the IMEI identifies the handset itself. Network operators query the EIR (Equipment Identity Register) with the IMEI to check whether a device is blocked or whitelisted.

Note: the IMEI TAC (Type Allocation Code — first 8 digits) is a completely different field from the LTE/5G TAC / TAI (Tracking Area Code) used for paging areas. The two share only an acronym — the IMEI TAC identifies a device model, while the network TAC identifies a geographic coverage area.

IMEI field breakdown

FieldDigitsLengthDescription
RBI1–22Reporting Body Identifier (approval body)
TAC1–88Type Allocation Code (device model)
SNR9–146Serial Number (unique per device)
CD151Luhn check digit (IMEI only)
SVN15–162Software Version Number (IMEISV only)

Luhn algorithm steps

1. Take digits 1–14 (exclude check digit)
2. Double every 2nd digit from the right (pos 14, 12, 10, …)
3. If doubled value > 9, subtract 9
4. Sum all 14 processed digits
5. CD = (10 − (sum mod 10)) mod 10
6. Valid if (sum + CD) mod 10 = 0

Reporting Body Identifier (RBI) — first 2 digits of TAC

RBIApproval Body
00Test / Not allocated
01BABT (UK)
10Cetecom
20–29FCC (USA)
30BABT
35PTCRB (North America)
44JATE (Japan)
45ANATEL (Brazil)
49BNetzA (Germany)
52NTRA (Egypt)
86MIIT (China)
99GSMA

Any RBI not listed above is shown as “Unknown / Operator-assigned”.

GSMA TAC database: The full GSMA IMEI database (mapping TAC to manufacturer and model name) is not publicly available. This tool decodes IMEI structure per 3GPP TS 23.003; for full device details including manufacturer and model, use the GSMA IMEI database portal.

The CGI / ECGI / NCGI decoder identifies the cell a device is camped on, while this tool identifies the device itself. Together, IMEI (device), IMSI (subscriber), and CGI (cell) are the three core identifiers in mobile network troubleshooting.

Frequently Asked Questions

What is an IMEI?

IMEI (International Mobile Equipment Identity) is a 15-digit number that uniquely identifies a mobile device globally. It is defined in 3GPP TS 23.003 and the GSMA PRD TS.06. Unlike the IMSI (which identifies the SIM/subscriber), the IMEI identifies the physical handset. It is used by operators to block stolen devices (via the GSMA IMEI blacklist / EIR — Equipment Identity Register) and by regulators to track device approvals.

What is the TAC in an IMEI?

The TAC (Type Allocation Code) is the first 8 digits of an IMEI. It identifies the device model and the approval body that certified it. The first 2 digits are the Reporting Body Identifier (RBI), which indicates the certification authority (e.g. FCC for USA, BABT for UK, JATE for Japan). The remaining 6 digits of the TAC identify the specific device model approved by that body. The GSMA maintains the full TAC database (not publicly available in complete form).

What is the Luhn algorithm and how does it validate an IMEI?

The Luhn algorithm (ISO/IEC 7812) is a simple checksum formula used to validate identification numbers. For an IMEI: starting from the second-to-last digit and moving left, double every second digit. If the doubled value exceeds 9, subtract 9. Sum all digits including the last (check) digit. A valid IMEI produces a total divisible by 10. The check digit (15th digit) is chosen at manufacturing time to make this sum divisible by 10.

What is IMEISV and how does it differ from IMEI?

IMEISV (IMEI Software Version) is a 16-digit variant of the IMEI used in 3G (UMTS) and later networks. It replaces the 1-digit Luhn check digit with a 2-digit SVN (Software Version Number, 01–98), allowing the network to distinguish different software loads on the same hardware. IMEISV is reported by the UE in UMTS (3GPP TS 25.331), LTE (TS 36.331) and 5G NR (TS 38.331) RRC messages and appears in network logs.