User Rating 0.0
Total Usage 0 times
Configure options and click Generate
Is this tool helpful?

Your feedback helps us improve.

About

An IMEI (International Mobile Equipment Identity) is a 15-digit numeric identifier assigned to every GSM, WCDMA, and iDEN mobile device. The structure follows 3GPP TS 23.003 specification: an 8-digit Type Allocation Code (TAC) identifying the manufacturer and model, a 6-digit serial number (SNR), and a single check digit (CD) computed via the Luhn algorithm. Incorrect IMEI validation in testing pipelines causes false positives in device management systems, corrupts MDM enrollment records, and breaks carrier-level provisioning workflows. This generator produces structurally valid IMEIs using real TAC prefixes from major manufacturers and mathematically correct Luhn check digits.

Generated numbers are intended for software testing, database seeding, and development environments. They should not be used to identify or impersonate real devices. The tool approximates production IMEI structure but cannot guarantee uniqueness against the global GSMA IMEI database, as that registry is proprietary. Pro tip: if testing IMEI validation logic, include edge cases with leading zeros in the serial portion and verify your parser handles the full 15-digit string without truncation.

imei generator luhn algorithm imei number random imei device identifier tac code bulk imei

Formulas

Every valid IMEI conforms to the following structure defined by 3GPP TS 23.003:

IMEI = TAC SNR CD

Where TAC is the 8-digit Type Allocation Code, SNR is the 6-digit serial number, and CD is the single check digit. The check digit is computed using the Luhn algorithm over the first 14 digits:

CD = ( 10 ( 14i=1 di ) mod 10 ) mod 10

The transformed digit di is calculated as follows. For digits at even positions (counting from right, starting at 1 for the check digit), the digit is doubled. If the doubled value exceeds 9, the result digits are summed (equivalent to subtracting 9):

{
di = di if position is odddi = 2 × di 9 if 2 × di > 9di = 2 × di otherwise

Where di is the i-th digit of the 14-digit partial IMEI, and positions are indexed from right to left. The final CD value is always in the range [0, 9].

Reference Data

ManufacturerExample TAC PrefixDevice FamilyNetworkRegion
Apple35332509iPhone 13 SeriesGSM/LTE/5GGlobal
Apple35407115iPhone 14 SeriesGSM/LTE/5GGlobal
Samsung35290611Galaxy S21 SeriesGSM/LTE/5GGlobal
Samsung35476712Galaxy A52GSM/LTEGlobal
Huawei86776903P40 ProGSM/LTE/5GChina/EU
Huawei86450803Mate 40GSM/LTE/5GChina/EU
Xiaomi86513705Mi 11GSM/LTE/5GAsia/EU
Xiaomi86826004Redmi Note 11GSM/LTEGlobal
Google35512210Pixel 6GSM/LTE/5GUS/EU/JP
Google35845505Pixel 7GSM/LTE/5GUS/EU/JP
OnePlus86388602OnePlus 9GSM/LTE/5GGlobal
Sony35440006Xperia 1 IIIGSM/LTE/5GGlobal
Motorola35154200Moto G PowerGSM/LTEAmericas
Nokia35693803Nokia X20GSM/LTE/5GEU/Asia
LG35328504V60 ThinQGSM/LTE/5GAmericas/KR
Oppo86720502Find X3 ProGSM/LTE/5GAsia/EU
Vivo86073002X70 ProGSM/LTE/5GAsia
Realme86985103GT Neo 3GSM/LTE/5GAsia/EU
Asus35579606ROG Phone 5GSM/LTE/5GGlobal
ZTE86217001Axon 30GSM/LTE/5GChina/EU

Frequently Asked Questions

No. The generator uses real TAC prefixes to ensure structural validity, but the 6-digit serial number portion is randomly generated. The probability of collision with an actual device IMEI is approximately 1 in 1,000,000 per generation. These numbers are suitable for software testing and database seeding, not for identifying or registering real hardware.
The Luhn algorithm detects all single-digit errors and most adjacent transposition errors. By doubling every second digit from the right, it creates an asymmetric weighting that catches swaps like 12 → 21. However, it cannot detect the transposition of 09 ↔ 90 because both produce the same Luhn sum. For IMEI validation, this covers over 98% of common manual entry mistakes.
The Type Allocation Code (TAC) occupies the first 8 digits of an IMEI. It is assigned by the GSMA to identify the device manufacturer and model. Using real TAC prefixes in test data ensures that downstream systems which parse TAC values (MDM platforms, carrier provisioning, device analytics) process the test IMEI through realistic code paths rather than rejecting it at the prefix validation stage.
No. Carrier systems verify IMEIs against the GSMA central IMEI database (EIR). A randomly generated serial number will not match any registered device record and will be rejected. Using fabricated IMEIs to impersonate real devices is illegal in most jurisdictions under telecommunications fraud statutes.
IMEI is 15 digits (14 identity digits + 1 Luhn check digit). IMEISV (IMEI Software Version) is 16 digits: the same 14 identity digits plus a 2-digit software version number, with no Luhn check digit. This generator produces standard 15-digit IMEIs. If you need IMEISV format for testing, append a 2-digit version code (e.g., 01-99) to the first 14 digits and omit the check digit.
Apply the Luhn algorithm to all 15 digits. Sum the transformed digits (doubling every second digit from the right). If the total is divisible by 10, the IMEI is structurally valid. This generator includes a built-in verification display showing the Luhn checksum status for every generated number.
Yes. The generator maintains an internal Set during each batch run and rejects duplicates before adding to the result list. Given 6 random digits (1,000,000 possible serials per TAC), collisions within batches under 1,000 are statistically negligible but are explicitly prevented regardless.