List of issuer identification numbers for the international telecommunication charge card (ITU-T E.118).
Note
Up-to-date with Operational Bulletin No. 1295 (1.VII.2024) and also includes E.164 shared country code entries (which has some overlapping entries).
Data source as Google Spreadsheet.
Note: There is actually a database for this information, but the access is restricted to ITU-T Sector Members. 🤷
Since E.118's issuer identification number is of variable length (it can be 4–7 digits) an ICCID (the serial number of SIM cards) needs to be matched against a list of known IINs in order to determine the SIM issuer.
npm install e118-iin-list
import { identifyIssuer } from "e118-iin-list";
const issuer = identifyIssuer("89450421180216254864");
if (issuer !== undefined) {
console.log(issuer.companyName); // Telia Sonera A/S
}
You can identify issuers directly from your command line:
$ npx e118-iin-list 89450421180216254864
{
"iin": 894504,
"countryCode": 45,
"issuerIdentifierNumber": "04",
"countryName": "Denmark",
"companyName": "Telia Sonera A/S"
}
Note: if your ICCID is not recognized, please open a new issue in this repository.
ITU-T Recommendation E.118 Card numbering structure (Source)
The numbering of the card to be issued by OAs shall be as follows based on ISO/IEC 7812-1 (Identification cards – Identification of issuers – Part 1: Numbering system) and ISO/IEC 7812-2 (Identification cards – Identification of issuers – Part 2: Application and registration procedures).
The maximum length of the visible card number (primary account number) shall be 19 characters and is composed of the following subparts (see Figure 1):
- Major Industry Identifier (MII);
- country code;
- issuer identifier;
- individual account identification number;
- parity check digit computed according to the Luhn formula (see ISO/IEC 7812-1, Annex B). In addition to the parity check digit, OAs may incorporate a validation check device in some location on the card which could be changed when new cards are issued.
- the Major Industry Identifier (MII) is always
89
(telecommunication purposes) - the Country Code is a positive integer (no leading zeros)
- the Issuer Identifier (IIN) is a string (it has leading zeros) and can be
entirely made up of
0
Sources:
- http://www.itu.int/pub/T-SP-E.118
- https://www.itu.int/pub/T-SP-OB
- http://www.itu.int/net/itu-t/inrdb/e164_intlsharedcc.aspx?cc=881,882,883
Process:
- Download the latest Word Documents from http://www.itu.int/pub/T-SP-E.118, and copy and past the table into a Google Spreadsheet
- Download the operational bulletins from https://www.itu.int/pub/T-SP-OB and incorporate the changes into the spreadsheet
- Export list of shared country codes (E.164) from
http://www.itu.int/net/itu-t/inrdb/e164_intlsharedcc.aspx?cc=881,882,883 and
filter out
CRS
records (inactive), add to the spreadsheet - Export that to CSV and store it as
list.csv
- Convert to JSON using
npm run convert