Skip to main content

"Issuer Identification Number Database and Verification Utility Library. Luhn Algorithm, BIN Checker, Random Credit Card Generators."

Project description

Build Status Build status Documentation Status License: GPLv3 Organization Views PRs Welcome GitHub pull-requests Language


Issuer Identification Number Database and Verification Utility Library. Luhn Algorithm, BIN Checker, Random Credit Card Generators.

TralahTek TralahM TralahM



# In terminal do:
$ pip install pycctek

Building from Source for Developers

$ git clone
$ cd pycctek
$ python install


usage: cctek [-h] [--version] {random_card,rc,luhn,ln,lookup,lk} ...

positional arguments:
    random_card (rc)    Generate Random Credit Card Number.
    luhn (ln)           Run Luhn Algorithm checks on the card numbers.
    lookup (lk)         Lookup Issuer Identification Numbers.

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit

Generate Random Credit card Number.

usage: cctek random_card [-h] {amex,diners,discover,enroute,jcb,mastercard,visa}

positional arguments:

optional arguments:
  -h, --help            show this help message and exit

Validate Credit Card Numbers with Luhn's Algorithm.

usage: cctek luhn [-h] credit_card_numbers) [credit_card_number(s ...]

positional arguments:
  credit_card_number(s) Credit Card Numbers

Lookup BINS

usage: cctek lookup [-h] BINs) [BIN(s ...]

positional arguments:
  BIN(s)      Credit Card Number or Bank/Issuer Identification Number(first 6 digits) to Lookup.

optional arguments:
  -h, --help  show this help message and exit


Issuer Identification Numbers

ISO/IEC 7812 Identification cards — Identification of issuers was first published by the International Organization for Standardization (ISO) in 1989. It is the international standard specifies "a numbering system for the identification of the card issuers, the format of the issuer identification number (IIN) and the primary account number (PAN).

The registration authority for Issuer Identification Numbers (IINs) is the American Bankers Association.

An IIN is currently six digits in length. The leading digit is the major industry identifier (MII), followed by 5 digits, which together make up the IIN. This IIN is paired with an individual account identification number, and a single digit checksum. MII 9 has been assigned to national standards bodies for national use.

The first digit is a 9 followed by a three-digit numeric country code numeric-3 country code from ISO 3166-1. National Numbering Systems are managed by ISO-member national standards bodies. The US National Numbering system is managed by the American National Standards Institute.

MII Digit Value Issuer Category
0 ISO/TC 68 Assignment
1 Airline cards
2 Airlines cards (and other future industry assignments)
3 Travel and Entertainment Cards
4 Banking and Financial Cards
5 Banking and Financial Cards
6 Merchandising and Financial Cards
7 Gas Cards- Other Future Industry Assignments
8 Healthcare Cards- Telecommunications- Other Future Industry Assignments
9 For Use by National Standards Bodies

The first six digits, including the major industry identifier, compose the issuer identifier number (IIN) which identifies the issuing organization. The IIN is sometimes referred to as a "bank identification number" (BIN). The IIN's use is much broader than identification of a bank. IINs are used by companies other than banks.

Luhn Algorithm

The Luhn algorithm or Luhn formula, also known as the "modulus 10" or "mod 10" algorithm, named after its creator, IBM scientist Hans Peter Luhn, is a simple checksum formula used to validate a variety of identification numbers, such as:

  • credit card numbers,
  • IMEI numbers,
  • National Provider Identifier numbers in the United States,
  • Canadian Social Insurance Numbers,
  • Israeli ID Numbers,
  • South African ID Numbers,
  • Greek Social Security Numbers (ΑΜΚΑ),
  • and survey codes appearing on McDonald's, Taco Bell, and Tractor Supply Co. receipts.

It is described in U.S. Patent No. 2,950,048, filed on January 6, 1954, and granted on August 23, 1960.

Read The Wikipedia Page for a more comprehensive description of Luhn's Algorithm


See the Contributing File

See the Pull Request File



Read the license here


TralahM TralahM



Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycctek-0.0.7.tar.gz (3.1 MB view hashes)

Uploaded Source

Built Distribution

pycctek-0.0.7-py3-none-any.whl (4.6 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page