ISO 8583 Data Element Reference Guide
Technical specification, message structure, formatting rules, and Data Element (DE) dictionary.
Data Types
a– Alphabetic charactersn– Numeric values onlys– Special charactersan– Alphanumericans– Alpha, numeric & special
Field Length Encodings
Fixed– Exact byte lengthLLVAR– 2-digit length prefix (00–99)LLLVAR– 3-digit length prefix (000–999)
Bitmaps
- Primary Bitmap: DE1 – DE64
- Secondary Bitmap: DE65 – DE128
- Tertiary Bitmap: DE129 – DE192
Common MTI Formats
0100 / 0110– Authorization Req/Rsp0200 / 0210– Financial Req/Rsp0800 / 0810– Network Mgmt Req/Rsp
ISO 8583 Data Element Dictionary
| Field | Data Element Name | Format | Length | Description & Operational Context |
|---|---|---|---|---|
| Core Transaction Data Elements | ||||
| MTI | Message Type Identifier | n 4 | Fixed (4) | 4-digit code classifying overall message intent (Position 1: Version, Position 2: Class, Position 3: Function, Position 4: Origin). |
| DE1 | Bit Map, Extended | b 64 | Fixed (8) | Binary bitmap indicating presence of secondary fields (DE65 through DE128). |
| DE2 | Primary Account Number (PAN) | n ..19 | LLVAR (19) | Cardholder payment card number (13 to 19 digits). Must be masked/PCI-DSS compliant in logs. |
| DE3 | Processing Code | n 6 | Fixed (6) | 6-digit numeric code specifying Transaction Type (2 digits), From Account (2 digits), and To Account (2 digits). |
| DE4 | Amount, Transaction | n 12 | Fixed (12) | Transaction amount expressed in minor currency units (e.g., $100.00 = 000000010000). |
| DE7 | Transmission Date & Time | n 10 | Fixed (10) | Timestamp formatted as MMDDhhmmss (GMT/UTC switch time). |
| DE11 | System Trace Audit Number (STAN) | n 6 | Fixed (6) | Unique sequence number assigned by message originator to identify transaction requests/responses. |
| DE12 | Time, Local Transaction | n 6 | Fixed (6) | Local transaction time formatted as hhmmss. |
| DE13 | Date, Local Transaction | n 4 | Fixed (4) | Local transaction date formatted as MMDD. |
| DE14 | Date, Expiration | n 4 | Fixed (4) | Card expiration date formatted as YYMM. |
| DE22 | POS Entry Mode | n 3 | Fixed (3) | Identifies input method (e.g., 02=Magnetic Stripe, 05=EMV Chip, 07=Contactless, 01=Manual Keyed). |
| Merchant, Terminal & Response Elements | ||||
| DE37 | Retrieval Reference Number (RRN) | an 12 | Fixed (12) | Universal transaction reference generated by acquirer/switch for lifecycle matching and chargebacks. |
| DE39 | Action / Response Code | an 2 | Fixed (2) | 2-character issuer response status code (e.g., 00 = Approved, 05 = Do Not Honor, 51 = Insufficient Funds). |
| DE41 | Card Acceptor Terminal ID | ans 8 | Fixed (8) | Unique terminal identifier deployed at merchant point of sale location. |
| DE42 | Card Acceptor Identification Code | ans 15 | Fixed (15) | Unique Merchant ID (MID) assigned by acquiring bank. |
| DE43 | Card Acceptor Name/Location | ans 40 | Fixed (40) | Merchant Name, City, State, and Country Code printed on cardholder statements. |
| DE49 | Currency Code, Transaction | a/n 3 | Fixed (3) | 3-digit ISO 4217 numeric currency code (e.g., 840 = USD, 978 = EUR, 356 = INR). |
| Private, Network & Reserved Data Elements | ||||
| DE48 | Additional Data (Private) | ans ...999 | LLLVAR (999) | Proprietary container for network-specific TLV (Tag-Length-Value) structures, CVV2 checks, and fraud scoring data. |
| DE60 | POS Terminal Data / Private | ans ..99 | LLVAR (99) | Carries terminal capabilities, encryption indicators, and transaction environment sub-fields. |
| DE90 | Original Data Elements | n 42 | Fixed (42) | Used in Reversals/Refunds (0400/0220). Encapsulates Original MTI, STAN, Transmission Date/Time, Acquirer ID. |
| DE128 | Message Authentication Code (MAC) | b 64 | Fixed (8) | Cryptographic hash/HMAC generated over message fields using shared secret keys to guarantee payload integrity. |
Standard ISO 8583 Response Codes (DE39 Quick Cheat Sheet)
00 – Approved / Honored
05 – Do Not Honor
51 – Insufficient Funds
54 – Expired Card
59 – Suspected Fraud
30 – Format Error
91 – Issuer / Switch Unavailable
96 – System Malfunction