ISO 8583 Data Element Reference
All 128 data elements with formats, lengths and the ones processors love to redefine.
Runs entirely in your browser. Nothing you paste is uploaded, logged or stored.
128 data elements
| DE | Name | Format |
|---|---|---|
| 1 | Secondary bitmapPresence is signalled by bit 1 of the primary bitmap, not by bit 1 itself being a data field. | b 64 |
| 2 | Primary account number (PAN)sensitivevariable | n ..19 |
| 3 | Processing codeThree 2-digit parts: transaction type, from-account, to-account. 00 = purchase, 01 = cash withdrawal, 09 = purchase with cashback, 20 = refund. | n 6 |
| 4 | Amount, transactionMinor units of the DE 49 currency, no decimal point. | n 12 |
| 5 | Amount, settlement | n 12 |
| 6 | Amount, cardholder billing | n 12 |
| 7 | Transmission date and timeMMDDhhmmss, UTC. | n 10 |
| 8 | Amount, cardholder billing fee | n 8 |
| 9 | Conversion rate, settlement | n 8 |
| 10 | Conversion rate, cardholder billing | n 8 |
| 11 | System trace audit number (STAN)Set by the acquirer, echoed unchanged. Only unique within a day, per acquirer — not a global transaction id. | n 6 |
| 12 | Time, local transactionhhmmss, terminal local time. | n 6 |
| 13 | Date, local transactionMMDD. | n 4 |
| 14 | Date, expirationYYMM. Note the order — the opposite of what most UIs collect. | n 4 |
| 15 | Date, settlement | n 4 |
| 16 | Date, conversion | n 4 |
| 17 | Date, capture | n 4 |
| 18 | Merchant type (MCC)ISO 18245 merchant category code. | n 4 |
| 19 | Acquiring institution country code | n 3 |
| 20 | PAN extended country code | n 3 |
| 21 | Forwarding institution country code | n 3 |
| 22 | Point of service entry modeFirst 2 digits = PAN entry mode (05 chip, 07 contactless chip, 81 e-commerce, 90 full mag-stripe read). Third digit = PIN entry capability. | n 3 |
| 23 | Card sequence number | n 3 |
| 24 | Function code / network international identifierRedefined as Function Code in the 1993 edition. | n 3 |
| 25 | Point of service condition code00 = normal, 01 = cardholder not present, 08 = mail/telephone order, 59 = e-commerce (scheme-dependent). | n 2 |
| 26 | Point of service PIN capture code | n 2 |
| 27 | Authorising identification response length | n 1 |
| 28 | Amount, transaction fee | x+n 8 |
| 29 | Amount, settlement fee | x+n 8 |
| 30 | Amount, transaction processing fee | x+n 8 |
| 31 | Amount, settlement processing fee | x+n 8 |
| 32 | Acquiring institution identification codevariableThe acquirer BIN. Also the first component of the ARN. | n ..11 |
| 33 | Forwarding institution identification codevariable | n ..11 |
| 34 | PAN extendedsensitivevariable | ns ..28 |
| 35 | Track 2 datasensitivevariableFull track 2 read from the stripe or chip equivalent. Storing this post-authorisation breaches PCI DSS. | z ..37 |
| 36 | Track 3 datasensitivevariable | z ..104 |
| 37 | Retrieval reference number (RRN)Often YDDDhhmmssss or acquirer-proprietary. Used to match auth to clearing — but not globally unique. | an 12 |
| 38 | Authorisation identification responseThe auth code the issuer returns. Six characters, alphanumeric. | an 6 |
| 39 | Response code00 = approved. Everything else is scheme-specific — see the decline code translator. | an 2 |
| 40 | Service restriction code | an 3 |
| 41 | Card acceptor terminal identification | ans 8 |
| 42 | Card acceptor identification codeThe merchant id (MID). | ans 15 |
| 43 | Card acceptor name / locationPositional: name, city, state, country. This is what shows on the cardholder statement. | ans 40 |
| 44 | Additional response datavariableCommonly carries AVS and CVV result codes. | an ..25 |
| 45 | Track 1 datasensitivevariable | an ..76 |
| 46 | Additional data — ISOvariable | an ...999 |
| 47 | Additional data — nationalvariable | an ...999 |
| 48 | Additional data — privatevariableHeavily used and completely processor-specific. Usually a nested TLV or positional structure. | an ...999 |
| 49 | Currency code, transactionISO 4217. Numeric in most implementations. | a/n 3 |
| 50 | Currency code, settlement | a/n 3 |
| 51 | Currency code, cardholder billing | a/n 3 |
| 52 | PIN datasensitiveEncrypted PIN block. Never log this. | b 64 |
| 53 | Security related control information | n 16 |
| 54 | Additional amountsvariable20-character groups: account type, amount type, currency, sign, amount. Carries the account balance on ATM responses. | an ...120 |
| 55 | ICC data — EMV datavariableBER-TLV. Paste it into the TLV parser. | b ...999 |
| 56 | Reserved — ISOvariable | an ...999 |
| 57 | Reserved — nationalvariable | an ...999 |
| 58 | Reserved — nationalvariable | an ...999 |
| 59 | Reserved — nationalvariable | an ...999 |
| 60 | Reserved — privatevariableProcessor-specific. Often terminal or POS capability data. | an ...999 |
| 61 | Reserved — privatevariableProcessor-specific. Often point-of-service or authorisation data. | an ...999 |
| 62 | Reserved — privatevariableProcessor-specific. Visa uses it for transaction identifiers. | an ...999 |
| 63 | Reserved — privatevariableProcessor-specific. Frequently a nested TLV structure. | an ...999 |
| 64 | Message authentication code (MAC) | b 64 |
| 65 | Extended bitmap indicatorPresence signals a tertiary bitmap for fields 129-192. | b 64 |
| 66 | Settlement code | n 1 |
| 67 | Extended payment code | n 2 |
| 68 | Receiving institution country code | n 3 |
| 69 | Settlement institution country code | n 3 |
| 70 | Network management information code001 = sign-on, 002 = sign-off, 161 = key change, 301 = echo test. | n 3 |
| 71 | Message number | n 4 |
| 72 | Message number, last | n 4 |
| 73 | Date, action | n 6 |
| 74 | Credits, number | n 10 |
| 75 | Credits, reversal number | n 10 |
| 76 | Debits, number | n 10 |
| 77 | Debits, reversal number | n 10 |
| 78 | Transfer, number | n 10 |
| 79 | Transfer, reversal number | n 10 |
| 80 | Inquiries, number | n 10 |
| 81 | Authorisations, number | n 10 |
| 82 | Credits, processing fee amount | n 12 |
| 83 | Credits, transaction fee amount | n 12 |
| 84 | Debits, processing fee amount | n 12 |
| 85 | Debits, transaction fee amount | n 12 |
| 86 | Credits, amount | n 16 |
| 87 | Credits, reversal amount | n 16 |
| 88 | Debits, amount | n 16 |
| 89 | Debits, reversal amount | n 16 |
| 90 | Original data elementsIdentifies the message being reversed: original MTI, STAN, transmission date/time, acquirer id. | n 42 |
| 91 | File update code | an 1 |
| 92 | File security code | an 2 |
| 93 | Response indicator | an 5 |
| 94 | Service indicator | an 7 |
| 95 | Replacement amountsUsed on partial reversals to state the corrected amounts. | an 42 |
| 96 | Message security code | b 64 |
| 97 | Amount, net settlement | x+n 16 |
| 98 | Payee | ans 25 |
| 99 | Settlement institution identification codevariable | n ..11 |
| 100 | Receiving institution identification codevariable | n ..11 |
| 101 | File namevariable | ans ..17 |
| 102 | Account identification 1sensitivevariable | ans ..28 |
| 103 | Account identification 2sensitivevariable | ans ..28 |
| 104 | Transaction descriptionvariable | ans ...100 |
| 105 | Reserved for ISO usevariable | ans ...999 |
| 106 | Reserved for ISO usevariable | ans ...999 |
| 107 | Reserved for ISO usevariable | ans ...999 |
| 108 | Reserved for ISO usevariable | ans ...999 |
| 109 | Reserved for ISO usevariable | ans ...999 |
| 110 | Reserved for ISO usevariable | ans ...999 |
| 111 | Reserved for ISO usevariable | ans ...999 |
| 112 | Reserved for national usevariable | ans ...999 |
| 113 | Reserved for national usevariable | n ..11 |
| 114 | Reserved for national usevariable | ans ...999 |
| 115 | Reserved for national usevariable | ans ...999 |
| 116 | Reserved for national usevariable | ans ...999 |
| 117 | Reserved for national usevariable | ans ...999 |
| 118 | Reserved for national usevariable | ans ...999 |
| 119 | Reserved for national usevariable | ans ...999 |
| 120 | Reserved for private usevariable | ans ...999 |
| 121 | Reserved for private usevariable | ans ...999 |
| 122 | Reserved for private usevariable | ans ...999 |
| 123 | Reserved for private usevariableOften POS data code in Visa implementations. | ans ...999 |
| 124 | Reserved for private usevariable | ans ...999 |
| 125 | Reserved for private usevariable | ans ...999 |
| 126 | Reserved for private usevariable | ans ...999 |
| 127 | Reserved for private usevariable | ans ...999 |
| 128 | Message authentication code (MAC) | b 64 |
Reading the format notation
- n
- Numeric digits only
- a
- Alphabetic characters only
- s
- Special characters
- an / ans
- Combinations of the above
- b
- Binary data
- z
- Track data as defined by ISO 4909 / 7813
- n 6
- Fixed length — exactly 6 digits
- n ..19
- Variable, LLVAR — a 2-digit length prefix, up to 19
- an ...999
- Variable, LLLVAR — a 3-digit length prefix, up to 999
- x+n 8
- A C/D sign character followed by 8 digits
The fields you will actually touch
DE 3, processing code. Six digits in three pairs: transaction type, from-account
and to-account. 00 purchase, 01 cash withdrawal, 09
purchase with cashback, 20 refund. The account digits matter for ATMs and are
usually zeros elsewhere.
DE 4, amount. Twelve digits, minor units of the DE 49 currency, zero-padded, no decimal point. See the minor units reference for why this bites.
DE 22, POS entry mode. The first two digits say how the card data was captured —
05 chip, 07 contactless chip, 81 e-commerce,
90 full mag-stripe read. Interchange depends heavily on this, so an incorrect
value is expensive rather than merely wrong.
DE 39, response code. Two characters. 00 is approval; everything
else is scheme-specific and the published meanings are often less useful than the processor's
own documentation.
DE 55, ICC data. BER-TLV chip data — feed it to the TLV parser.
Length notation
A fixed field like n 6 is always exactly six digits. A variable field written
n ..19 is LLVAR: two length digits followed by up to nineteen data digits. Three
dots, as in an ...999, means LLLVAR with a three-digit length prefix. Whether those
length prefixes are ASCII digits or packed BCD is, once again, an endpoint decision.
The identifiers that get confused
DE 11 (STAN) is set by the acquirer and echoed back unchanged. It is only unique within a day, per acquirer — it is a matching key, not a transaction id. DE 37 (RRN) is a twelve-character retrieval reference used to tie an authorisation to its clearing record. DE 38 is the six-character authorisation code the issuer returns. None of these is globally unique, and building a system that assumes otherwise is a well-trodden path to duplicate-detection bugs.
A warning about private fields
DE 48, 60-63 and 120-127 are reserved for private use. Two processors will use the same field number for entirely unrelated data. Never assume; always read the specification for the specific endpoint you are integrating with.
More ISO 8583 tools
MTI decoder
Split a 4-digit message type indicator into version, class, function and origin.
Bitmap decoder
Turn a primary and secondary bitmap into the list of data elements present — and back again.
POS entry mode
What DE 22 and tag 9F39 mean — chip, contactless, fallback, e-commerce — and why it changes your interchange.
AVS & CVV
Address and security-code check results in plain English, including which ones are fraud signals.