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 vectors

Internal 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 limits

A 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.

Primary references