Zero Signup ToolsFree browser tools

Developer Tools

IMEI Validator

Validate IMEI and IMEISV numbers in your browser. Luhn check, TAC and serial breakdown, GSMA reporting body, expected check digit. No upload, no signup.

Try a sample

Result

Valid IMEI

Check digit: 8 (expected 8)

Findings

  • TAC prefix "49" matches the GSMA reporting body CTTL (China).
  • Luhn check digit matches the value computed by the algorithm.

Structural breakdown

TAC (positions 1-8)
49015420

Type Allocation Code (manufacturer and model)

Reporting body (positions 1-2)
CTTL (China)

GSMA-assigned organization that issued the TAC

Serial (positions 9-14)
323751

Manufacturer-assigned production serial

Check digit (position 15)
8

Matches the value computed by the algorithm

Luhn math

Starting from the right of the 14-digit body, every other digit is doubled. If doubling makes a value greater than 9, the algorithm adds the two decimal digits (equivalently, subtracts 9). The contributions are summed. The expected check digit is (10 minus sum mod 10) mod 10.

PosDigitDoubled?Contribution
14no4
29yes9
30no0
41yes2
55no5
64yes8
72no2
80yes0
93no3
102yes4
113no3
127yes5
135no5
141yes2
Sum52
Expected check digit8

How an IMEI encodes information

TAC: positions 1 to 8

The Type Allocation Code. The first two digits are the Reporting Body Identifier (RBI) assigned by the GSMA (for example 35 was widely used by BABT, 86 by TAF in China, 91 by BABT in the UK). The remaining six digits identify the specific manufacturer and device model. Brand and model lookup require the GSMA TAC database, which is not redistributed publicly.

Serial: positions 9 to 14

A six-digit production serial number assigned by the manufacturer. It is unique within a given TAC, so a TAC + serial pair identifies a single device.

Check digit: position 15

A Luhn check digit over the first 14 digits, defined in 3GPP TS 23.003 Annex B. Doubles every digit at an even position counting from the right, subtracts 9 from any product greater than 9, sums everything, and reports (10 minus sum mod 10) mod 10. A mismatch means a typo or a fake number.

IMEISV: positions 15 to 16

IMEISV (Software Version) is a 16-digit variant. It replaces the Luhn check digit with a two-digit Software Version Number that the device firmware reports. IMEISV has no checksum, so any 16-digit IMEISV that is structurally well-formed passes validation here.

This tool decodes the structural fields the IMEI itself encodes per 3GPP TS 23.003 and the GSMA published reporting body list. It does not look up brand, model, blacklist status, carrier, activation, or warranty; those facts live in the GSMA TAC database and carrier blocklists and require an authenticated query.

How to use

  1. Pick a mode at the top: Single IMEI for one number with a per-digit Luhn breakdown, or Batch list to validate one IMEI per line.
  2. Type or paste the IMEI. Spaces, dashes, dots, and underscores are ignored, so the on-box 2-6-6-1 format works directly.
  3. Read the verdict. The result card shows valid or invalid, the expected check digit, the TAC and serial breakdown, and the GSMA reporting body.
  4. Use the bare 14-digit mode when you only have the body and want the algorithm to compute the missing check digit, then click Copy with check digit.
  5. Paste a 16-digit IMEISV to extract the trailing Software Version Number. IMEISV has no Luhn check digit, so any well-formed 16-digit value passes.
  6. In batch mode, click Copy valid only to keep just the IMEIs that pass the algorithm, which is useful for cleaning device fixtures or MDM lists.

About this tool

IMEI Validator checks International Mobile Equipment Identity numbers entirely in your browser using the algorithm defined in 3GPP TS 23.003 Annex B. Paste any IMEI in any format. Spaces, dashes, dots, and underscores are stripped automatically, so a number copied from a phone box, a Settings screen, or a *#06# display works without reformatting. The tool accepts the standard 15-digit IMEI, a bare 14-digit body (for which it computes the expected check digit so you can complete the number), and the 16-digit IMEISV variant that replaces the Luhn check digit with a 2-digit Software Version Number. The result panel shows the verdict (valid or invalid), the expected Luhn check digit, the Type Allocation Code (TAC, positions 1 to 8) that identifies the manufacturer and model, the manufacturer-assigned serial number (positions 9 to 14), the check digit (position 15), and, for IMEISV inputs, the trailing 2-digit SVN. A reporting body badge translates the 2-digit TAC prefix into the GSMA-assigned organization that issued the TAC (for example BABT, PTCRB, TAF, ANATEL) so you can see which region originated the code. A per-digit Luhn breakdown shows each digit, whether it was doubled, and its contribution to the weighted sum so the math is easy to verify and the tool doubles as a teaching aid. A separate batch mode accepts one IMEI per line, validates the entire list at once, shows valid and invalid counts, marks each row with its kind (IMEI, bare 14-digit body, or IMEISV), and exposes a one-click copy of the valid-only normalized list, which is useful for cleaning device fixtures, MDM imports, and exported asset spreadsheets. Useful for resellers checking IMEIs before buying a used phone, QA engineers generating mock IMEIs for tests, IoT and MDM teams importing device lists, support agents verifying a customer-typed IMEI was not transcribed wrong, and anyone who needs to understand what the digits on a phone's IMEI label actually mean. This tool does not look up brand, model, blacklist status, carrier, activation, or warranty: those facts live in the GSMA TAC database and carrier blocklists and require an authenticated query. The IMEI you paste here never leaves your browser.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools