Reusable testing data
IMEI developer resources
Download deterministic Luhn test vectors and review the limits of the internal fixture snapshot used by Random IMEI. These resources separate checksum facts from device claims so test suites can fail safely.
Downloads
CC0 · JSON · schema v1
Luhn test vectors
Positive bodies, expected check digits, arithmetic traces and negative format/checksum cases. Deterministic and safe to copy into unit tests.
Download test vectorsInternal snapshot 2025-11-02
TAC provenance boundary
60 legacy-labelled profiles and 128 distinct prefixes are used internally. Their original provenance and reuse license are not established, so the raw mapping catalog is not offered as a public dataset.
Review methodology and limitsA testing contract that does not overclaim
14
Body digits
Calculate one check digit from an ASCII-numeric 14-digit body.
15
Complete digits
Validate the final digit against the Luhn mod-10 calculation.
0
Live lookups
No carrier, GSMA, manufacturer, ownership or blocklist system is queried.
Sample positive vectors
The JSON download also includes the contribution of every digit, negative cases and strict-format expectations.
| 14-digit body | Check digit | Completed value | 14-digit body contribution sum |
|---|---|---|---|
| 49015420323751 | 8 | 490154203237518 | 52 |
| 12345678901234 | 7 | 123456789012347 | 63 |
| 00000000000000 | 0 | 000000000000000 | 0 |
Checksum is not identity
Luhn detects many transcription mistakes. It does not verify allocation, device existence, ownership, network eligibility or status. Keep those concerns separate in both code and interface copy.
const normalized = String(value).replace(/[\s\p{Z}-]+/gu, "");
if (/^\d{14}$/.test(normalized)) {
return {
inputKind: "body",
format: false,
bodyFormat: true,
completable: true,
completedImei: completeWithLuhn(normalized),
luhn: null,
valid: false
};
}
if (!/^\d{15}$/.test(normalized)) {
return { inputKind: "invalid", format: false, luhn: null, valid: false };
}
const luhn = calculateCheckDigit(normalized.slice(0, 14))
=== Number(normalized[14]);
return {
inputKind: "imei",
format: true,
luhn,
valid: luhn,
deviceStatus: "not-checked"
};
Catalog provenance
- Snapshot
- 2025-11-02; canonicalized 2026-08-05
- Authority
- Not authoritative and not published as an open dataset. The current mappings are legacy fixtures with no established original provenance or reuse license; they do not reproduce or replace the licensed GSMA Device Database.
- Safe fallback
- Unless a mapping is explicitly verified and carries primary-source evidence, consumers must report only format and Luhn results.
Read the methodology and changelog or report a correction to support@randomimei.com.