Complete list of PIN-blocks

The most common PIN-block formats are based on ISO 9564, but many more are in implemented worldwide. Another common problem is that same PIN-block calculation methods are being called with their aliases, making sometimes difficult to get a right one. This article brings a list of PIN-blocks applied in payments, their calculation methods and examples and bit of related background.

Well worded Wikipedia's definition of a PIN-block format: «The PIN is used to verify the identity of a customer (the user of a bank card) within an electronic funds transfer system, and (typically) to authorize the transfer of funds, so it is important to protect it against unauthorized disclosure or misuse. Modern banking systems require interoperability between different card issuers, acquiring banks and retailers – including transmission of PINs between those entities – so a common set of rules for handling and securing PINs is required, both to ensure technical compatibility and a mutually agreed level of security.»

Note that the same encoding & decoding functionality as covered in this article is also available through our freeware BP-Tools product.

PIN Block Format
AliasDescription
ISO-0 Format 0, ANSI X9.8, VISA-1, and ECI-0 ISO 9564-1 Format 0. An ISO-0 PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats and is similar to a VISA-4 PIN block format. The ISO-0 PIN block format supports a PIN from 4 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right. The first nibble (which identifies the block format) has the value 0.
ISO-1 Format 1 and ECI-4 ISO 9564-1:2003 Format 1. The ISO-1 PIN block format is equivalent to an ECI-4 PIN block format and is recommended for usage where no PAN data is available. The ISO-1 PIN block format supports a PIN from 4 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right. The first nibble (which identifies the block format) has the value 1.
ISO-2 Format 2 ISO 9564-3: 2003 Format 2. Format 2 is for local use with off-line systems only. The first nibble (which identifies the block format) has the value 2.
ISO-3 Format 3 ISO 9564-1: 2002 Format 3. Format 3 is the same as format 0, except that the "fill" digits are random values from 10 to 15, and the first nibble (which identifies the block format) has the value 3. 
ANSI X9.8 - Same as ISO 9564 Format 0 (ISO-0)
OEM-1 Diebold, Docutel, NCR The OEM-1 PIN block format is equivalent to the PIN block formats that Diebold, Docutel, and NCR define. The OEM-1 PIN block format supports a PIN from 4 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right. Identical to existing Docutel 5100 Format 8
ECI-1 - Eurocheque International format 1. Same as ISO 9564 Format 0 (ISO-0)
ECI-2 - Eurocheque International format 2. The ECI-2 PIN block format supports a 4-digit PIN. A PIN that is longer than 4 digits is truncated on the right.
ECI-3 - Eurocheque International format 3. The ECI-3 PIN block format supports a PIN from 4 to 6 digits in length. A PIN that is longer than 6 digits is truncated on the right.
ECI-4 - Eurocheque International format 4. Same as ISO 9564 Format 1 (ISO-1)
IBM 3621   The 3621 PIN block format supports a PIN from 1 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right.
IBM 3624 PIN-TRAN 4 The 3624 PIN block format is equivalent to the PIN-TRAN 4 format and supports a PIN from 1 to 16 digits in length. A PIN that is longer than 16 digits is truncated on the right.
IBM 4704-EPP (Encrypting PIN Pad) - The 4704 encrypting PIN Pad PIN block format supports a PIN from 1 to 13 digits in length. A PIN that is longer than 13 digits is truncated on the right.
IBM 5906   Same as IBM 3621.
VISA-1 - Same as ISO 9564 Format 0 (ISO-0)
VISA-2 Docutel 2 The VISA-2 PIN block format supports a PIN from 4 to 6 digits in length. A PIN that is longer than 6 digits is truncated on the right.
VISA-3 - The VISA-3 PIN block format supports a PIN from 4 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right.
VISA-4 - The VISA-4 PIN block format supports a PIN from 4 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right.
Docutel 2 VISA-2 Same as VISA-2. Contains 1-digit PIN length, 4 to 6-digit PIN and a user-defined padding string of 9 digits. If the PIN has 4 or 5 digits, it is initially padded to the right with 2 or 1 zero digits to total 6 digits.
AS2805 Format 1 - The AS2805 Format 1 PIN block is used in situations where the account number is not available. The PIN block is formed by concatenation of the PIN and other data. PIN block format supports a PIN from 4 to 12 digits in length.
AS2805 Format 8 Format 46 The zero length PIN block format is identical to format 01 with the some exceptions.

Is any PIN-block or its alias missing? Please let  This email address is being protected from spambots. You need JavaScript enabled to view it. .

ISO-0 (Format 0)

Is the first and most common PIN block encoding  format based on ISO 9564 - an international standard for personal identification number (PIN) management and security in retail banking.

Calculation steps:

  1. Prepare a PIN - L is length of the PIN, P is PIN digit, F is padding value "F"
    12345678910111213141516
    0 L P P P P P/F P/F P/F P/F P/F P/F P/F P/F P/F P/F
  2. Prepare PAN - take 12 rightmost digits of the primary account number (excluding the check digit)
    12345678910111213141516
    0 0 0 0 PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN
  3. XOR both values
    12345678910111213141516
    0 L P P P P P/F P/F P/F P/F P/F P/F P/F P/F P/F P/F
    XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR
    0 0 0 0 PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            N/A
Format:         Format 0 (ISO-0)
----------------------------------------
Clear PIN block:0412AC89ABCDEF67

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      0412AC89ABCDEF67
PAN:            43219876543210987
PAD:            N/A
Format:         Format 0 (ISO-0)
----------------------------------------
Decoded PIN:    1234

ISO-1 (Format 1)

The ISO-1 PIN block format is equivalent to an ECI-4 PIN block format. The ISO-1 PIN block format supports a PIN from 4 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right.

Calculation steps:

  1. Prepare a PIN - L is length of the PIN, P is PIN digit, R is random value
    12345678910111213141516
    1 L P P P P P/R P/R P/R P/R P/R P/R P/R P/R P/R P/R

Where:

  • L - is the length of the PIN, which is a 4-bit value from X'4' to X'C'.
  • R - is a random digit, which is a value from X'0' to X'F'. Typically, this should be used for predetermined transaction unique data such as a sequence number.

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            N/A
Format:         Format 1 (ISO-1)
----------------------------------------
Clear PIN block:141234CE8C767872

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      141234CE8C767872
PAN:            N/A
PAD:            N/A
Format:         Format 1 (ISO-1)
----------------------------------------
Decoded PIN:    1234

ISO-2 (Format 2)

Format 2 is for local use with off-line systems only (e.g. smart cards).

Calculation steps:

  1. Prepare a PIN - L is length of the PIN, P is PIN digit, F is padding value 'F'
    12345678910111213141516
    2 L P P P P P/F P/F P/F P/F P/F P/F P/F P/F P/F P/F

Where:

  • L - is the length of the PIN, which is a 4-bit value from X'4' to X'C'.
  • F - is a padding character, which is a value of X'F'.

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            N/A
Format:         Format 2 (ISO-2)
----------------------------------------
Clear PIN block:241234FFFFFFFFFF

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      241234FFFFFFFFFF
PAN:            N/A
PAD:            N/A
Format:         Format 2 (ISO-2)
----------------------------------------
Decoded PIN:    1234

ISO-3 (Format 3)

Format 3 is the same as format 0, except that the "fill" digits are random values from 10 to 15, and the first nibble (which identifies the block format) has the value 3.

Calculation steps:

  1. Prepare a PIN - L is length of the PIN, P is PIN digit, R is random value from X'0' to X'F'
    12345678910111213141516
    3 L P P P P P/R P/R P/R P/R P/R P/R P/R P/R P/R P/R
  2. Prepare PAN - take 12 rightmost digits of the primary account number (excluding the check digit)
    12345678910111213141516
    0 0 0 0 PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN
  3. XOR both values
    12345678910111213141516
    0 L P P P P P/R P/R P/R P/R P/R P/R P/R P/R P/R P/R
    XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR
    0 0 0 0 PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            N/A
Format:         Format 3 (ISO-3)
----------------------------------------
Clear PIN block:3412ACC9B98CDF43

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      3412ACC9B98CDF43
PAN:            43219876543210987
PAD:            N/A
Format:         Format 3 (ISO-3)
----------------------------------------
Decoded PIN:    1234

ANSI X9.8

Same as ISO-0.

OEM-1 / Diebold / Docutel / NCR

The OEM-1 PIN block format is equivalent to the PIN block formats that Diebold, Docutel, and NCR define. The OEM-1 PIN block format supports a PIN from 4 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right.

Calculation steps:

  1. Prepare a PIN - P is PIN digit, X is pad value, which is a 4-bit value from X'0' to X'F'
    12345678910111213141516
    P P P P P/X P/X P/X P/X P/X P/X P/X P/X X X X X

Where:

  • P - is a PIN digit, which is a 4-bit value from X'0' to X'9'. The values of the PIN digits are independent.
  • X - is a pad value has a 4-bit value from X'0' to X'F' and must be different from any PIN digit. The number of pad values for this format is in the range from 4 to 12, and all the pad values must have the same value.

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            5
Format:         Diebold, Docutel, NCR
----------------------------------------
Clear PIN block:1234555555555555

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      1234555555555555
PAN:            N/A
PAD:            5
Format:         Diebold, Docutel, NCR
----------------------------------------
Decoded PIN:    1234

ECI-1

Same as ISO-0.

ECI-2

The ECI-2 PIN block format supports a 4-digit PIN. A PIN that is longer than 4 digits is truncated on the right.

Calculation steps:

  1. Prepare a PIN - P is PIN digit, R is random value
    12345678910111213141516
    P P P P R R R R R R R R R R R R

Where:

  • P - is a PIN digit, which is a 4-bit value from X'0' to X'9'. The PIN length for this format is always 4.The values of the PIN digits are independent.
  • R is a random pad value, which is a value from X'0' to X'F'. This format contains 12 random pad values that can have different values.

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            N/A
Format:         ECI-2
----------------------------------------
Clear PIN block:1234095621C2F02F

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      1234095621C2F02F
PAN:            N/A
PAD:            N/A
Format:         ECI-2
----------------------------------------
Decoded PIN:    1234

ECI-3

The ECI-3 PIN block format supports a PIN from 4 to 6 digits in length. A PIN that is longer than 6 digits is truncated on the right.

Calculation steps:

  1. Prepare a PIN - L - is PIN length, P is PIN digit, 0 is padding character for PIN shorter than 6 digits, R is random value
    12345678910111213141516
    L P P P P P/0 P/0 R R R R R R R R R

Where:

  • L is the length of the PIN, which is a 4-bit value from X'4' to X'6'.
  • P - is a PIN digit, which is a 4-bit value from X'0' to X'9'. The values of the PIN digits are independent.
  • 0 - is a filling character for PIN's shorter than 6 digits, so 4 digit PIN will be extended to 6 digits (1234 -> 123400).
  • R is a random pad value, which is a value from X'0' to X'F'. This format contains 9 random pad values that can have different values.

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            N/A
Format:         ECI-3
----------------------------------------
Clear PIN block:41234E07180DD697

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      41234E07180DD697
PAN:            N/A
PAD:            N/A
Format:         ECI-3
----------------------------------------
Decoded PIN:    1234

ECI-4

Same as ISO-1.

IBM 3621

The 3621 PIN block format supports a PIN from 1 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right.

Calculation steps:

  1. Prepare a PIN - S1,S2,S3,S4 form a 2-byte sequence number that 3621 (or the originating terminal or node) assigns. P is PIN digit, X is defined padding value
    12345678910111213141516
    S1 S2 S3 S4 P P/X P/X P/X P/X P/X P/X P/X P/X P/X P/X P/X

Where:

  • S1 S2 S3 S4 - Forms a 2-byte sequence number that the 3621 (or the originating terminal or node) assigns. A 3621 assigns the sequence number in ascending order, starting with X'0000'.
  • P - is a PIN digit, which is a 4-bit value from X'0' to X'9'. The values of the PIN digits are independent.
  • X - is A pad value has a 4-bit value from X'0' to X'F' and must be different from any PIN digit. The number of pad values for this format are in the range from 0 to 11, and all the pad values must have the same value.

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            5
Format:         IBM 3621
----------------------------------------
Clear PIN block:0000123455555555

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      0000123455555555
PAN:            43219876543210987
PAD:            N/A
Format:         IBM 3621
----------------------------------------
Decoded PIN:    1234

IBM 3624

The 3624 PIN block format supports a PIN from 1 to 16 digits in length. A PIN that is longer than 16 digits is truncated on the right.

Calculation steps:

  1. Prepare a PIN - P is PIN digit, X is defined padding value
    12345678910111213141516
    P P/X P/X P/X P/X P/X P/X P/X P/X P/X P/X P/X P/X P/X P/X P/X

Where:

  • P - is a PIN digit, which is a 4-bit value from X'0' to X'9'. The values of the PIN digits are independent.
  • X - is A pad value has a 4-bit value from X'0' to X'F' and must be different from any PIN digit. The number of pad values for this format are in the range from 0 to 15, and all the pad values must have the same value.

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            5
Format:         IBM 3624
----------------------------------------
Clear PIN block:1234555555555555

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      1234555555555555
PAN:            N/A
PAD:            N/A
Format:         IBM 3624
----------------------------------------
Decoded PIN:    1234

IBM 4704-EPP (Encrypting PIN Pad)

The 4704 encrypting PIN Pad PIN block format supports a PIN from 1 to 13 digits in length. A PIN that is longer than 13 digits is truncated on the right.

Calculation steps:

  1. Prepare a PIN - L - is a PIN length, P is PIN digit, F is padding value 'F', S1 S2 is a 1-byte sequence number
    12345678910111213141516
    L P P/F P/F P/F P/X P/F P/F P/F P/F P/F P/F P/F P/F S1 S2

Where:

  • L - is the length of the PIN, which is a 4-bit value from X'4' to X'D'.
  • P - is a PIN digit, which is a 4-bit value from X'0' to X'9'. The values of the PIN digits are independent.
  • F - is A pad value has a 4-bit value of X'F'. The number of pad values for this format are in the range from 0 to 12.
  • S1 S2 - is a 1-byte sequence number from X'00' to X'FF'.

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            N/A
Format:         IBM 4704 EPP
----------------------------------------
Clear PIN block:41234FFFFFFFFF00

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      41234FFFFFFFFF00
PAN:            N/A
PAD:            5
Format:         IBM 4704 EPP
----------------------------------------
Decoded PIN:    1234

IBM 5906

Same as IBM 3621.

VISA-1

Same as ISO-0.

VISA-2

The VISA-2 PIN block format supports a PIN from 4 to 6 digits in length. A PIN that is longer than 6 digits is truncated on the right.

Calculation steps:

  1. Prepare a PIN - L - is PIN length, P is PIN digit, 0 is padding character for PIN shorter than 6 digits, D is decimal value
    12345678910111213141516
    L P P P P P/0 P/0 D D D D D D D D D

Where:

  • L is the length of the PIN, which is a 4-bit value from X'4' to X'6'.
  • P - is a PIN digit, which is a 4-bit value from X'0' to X'9'. The values of the PIN digits are independent.
  • 0 - is a filling character for PIN's shorter than 6 digits, so 4 digit PIN will be extended to 6 digits (1234 -> 123400).
  • D is a decimal pad value, which is a 4-bit value from X'0' to X'9'. All nine pad values must have the same value.

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            5
Format:         VISA-2
----------------------------------------
Clear PIN block:4123400555555555

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      4123400555555555
PAN:            N/A
PAD:            N/A
Format:         VISA-2
----------------------------------------
Decoded PIN:    1234

VISA-3

The VISA-3 PIN block format supports a PIN from 4 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right.

Calculation steps:

  1. Prepare a PIN - P is PIN digit, F is PIN delimiter, X is a pad value
    12345678910111213141516
    P P P P P/F P/F/X P/F/X P/F/X P/F/X P/F/X P/F/X P/F/X F/X X X X

Where:

  • P - is a PIN digit, which is a 4-bit value from X'0' to X'9'. The values of the PIN digits are independent.
  • F - is a a PIN digit or a delimiter X'F'. If the preceding digit is the last (or rightmost) PIN digit, this digit is the delimiter X'F'.
  • X is a pad value, which is a 4-bit value from X'0' to X'F'. All the pad values must have the same value.

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            5
Format:       VISA-3
----------------------------------------
Clear PIN block:1234F55555555555

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      1234F55555555555
PAN:            N/A
PAD:            N/A
Format:         VISA-3
----------------------------------------
Decoded PIN:    1234

VISA-4

The VISA-4 PIN block format supports a PIN from 4 to 12 digits in length. A PIN that is longer than 12 digits is truncated on the right.

Calculation steps:

  1. Prepare a PIN - 0 - is the value X'0', L is length of the PIN, P is PIN digit, F - is the value X'F' for the pad value, PAN is twelve 4-bit digits representing the leftmost 12 digits of the primary account number (excluding the check digit).
    12345678910111213141516
    0 L P P P P P/F P/F P/F P/F P/F P/F P/F P/F F F
  2. Prepare PAN - take 12 leftmost digits of the primary account number (excluding the check digit)
    12345678910111213141516
    0 0 0 0 PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN
  3. XOR both values
    12345678910111213141516
    0 L P P P P P/F P/F P/F P/F P/F P/F P/F P/F F F
    XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR XOR
    0 0 0 0 PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN PAN

Where:

  • 0 is the value X'0'
  • L - is a PIN length
  • P is a PIN digit, which is a 4-bit value from X'0' to X'9'. The values of the PIN digits are independent.
  • F - is a pad value of X'F'. The number of PAD digits X'F' in the intermediate PIN block (IPB) is in the range from 2 to 10.
  • PAN - is twelve 4-bit digits representing the leftmost 12 digits of the primary account number (excluding the check digit). Each PAN digit has a value from X'0' to X'9'.

Example:

PIN blocks: PIN block encrypt operation finished
****************************************
PAN:            43219876543210987
PIN:            1234
PAD:            N/A
Format:         VISA-4
----------------------------------------
Clear PIN block:041277DE6789ABCD

PIN blocks: PIN block decode operation finished
****************************************
PIN block:      041277DE6789ABCD
PAN:            N/A
PAD:            N/A
Format:         VISA-4
----------------------------------------
Decoded PIN:    1234

AS2805 Format 1

The AS2805 Format 1 PIN block format is similar to an ISO-1 PIN block format. The PIN block format supports a PIN from 4 to 12 digits in length.

Calculation steps:

  1. Prepare a PIN - L is length of the PIN, P is PIN digit, R is random value
    12345678910111213141516
    1 L P P P P P/R P/R P/R P/R P/R P/R P/R P/R R R

Where:

  • L - is the length of the PIN, which is a 4-bit value from X'4' to X'C'.
  • R - is a random digit, which is a value from X'0' to X'F'.

AS2805 Format 8 (format 46)

The AS2805 Format 8 PIN block (format 46) is similar to an Format 1 PIN block format. The PIN block format supports zero length PIN Block.

Calculation steps:

  1. Prepare a PIN - L is length of the PIN, P is PIN digit, R is random value
    12345678910111213141516
    C L P P P P P/R P/R P/R P/R P/R P/R P/R P/R F F
    8 0 R R R R R R R R R R R R F F

Where:

  • C - Control field, if is X'0', then the PIN block is processed as a standard format 01 PIN block.
  • L - is the length of the PIN, which is a 4-bit X'0' or value from X'4' to X'C'. If it is X'0' then the PIN block is a Zero PIN block. No checking of the PIN block is required in this case.
  • R - is a random digit, which is a value from X'0' to X'F'.
  • F - the X'F' character.
BP-Tools

BP-Tools is a set of freeware applications for EFT testing, benchmarking and transaction service development.

See more...

Download...

Download Flyer...

BP-Sim

The Babylon Payments Simulator (BP-Sim) is a family of highly efficient regression and stress testing tools, designed for deployment in development and pre-production environments. BP-Sim allows users to perform an extensive range of tests across the chain of payment services.

See more...

Download Flyer...

BP-Processing

The Babylon Payments Processing Suite(BP-Processing) is a suite of EFTlab's products for realtime payment transaction processing and authorisation.

See more...