If you build anything that touches mobile devices — MDM systems, telecom apps, device management platforms, repair shop software — you've probably dealt with IMEI numbers.
What Is an IMEI?
IMEI = International Mobile Equipment Identity. A unique 15-digit number assigned to every GSM mobile device. Dial *#06# on any phone to find yours.
The Structure
TAC (8 digits) + Serial (6 digits) + Check digit (1, Luhn algorithm)
TAC — Type Allocation Code
First 8 digits identify device model and manufacturer, assigned by GSMA.
Luhn Algorithm
Same checksum used for credit cards. Catches single-digit and transposition errors.
function luhnCheck(imei) {
let sum = 0;
for (let i = 0; i < 14; i++) {
let digit = parseInt(imei[i]);
if (i % 2 === 1) { digit *= 2; if (digit > 9) digit -= 9; }
sum += digit;
}
return (10 - (sum % 10)) % 10;
}
Why Developers Need Test IMEIs
MDM platforms, telecom systems, device buyback apps, repair shop software, inventory tracking — all need valid IMEIs for testing. Using real ones = privacy issues.
Generating Valid Test IMEIs
Random IMEI generates Luhn-valid IMEI numbers using realistic TAC prefixes. No signup, no API keys, free.
Quick Reference
| Property | Value |
|---|---|
| Length | 15 digits |
| Structure | TAC (8) + Serial (6) + Check (1) |
| Checksum | Luhn algorithm |
| Standard | 3GPP TS 23.003 |
Top comments (0)