Keep it open while you decode DE55. Search by tag or by keyword.
| Tag | Meaning |
|---|---|
4F | Application Identifier (AID) – card |
50 | Application Label |
57 | Track 2 Equivalent Data |
5A | Application Primary Account Number (PAN) |
5F20 | Cardholder Name |
5F24 | Application Expiration Date |
5F25 | Application Effective Date |
5F28 | Issuer Country Code |
5F2A | Transaction Currency Code |
5F34 | Application PAN Sequence Number |
61 | Application Template |
6F | File Control Information (FCI) Template |
70 | READ RECORD Response Message Template |
71 | Issuer Script Template 1 |
72 | Issuer Script Template 2 |
77 | Response Message Template Format 2 |
80 | Response Message Template Format 1 |
82 | Application Interchange Profile (AIP) |
84 | Dedicated File (DF) Name |
8A | Authorisation Response Code |
91 | Issuer Authentication Data |
95 | Terminal Verification Results (TVR) |
9A | Transaction Date |
9B | Transaction Status Information (TSI) |
9C | Transaction Type |
9F02 | Amount, Authorised (Numeric) |
9F03 | Amount, Other (Numeric) |
9F06 | Application Identifier (AID) – terminal |
9F07 | Application Usage Control |
9F08 | Application Version Number (ICC) |
9F09 | Application Version Number (terminal) |
9F0A | Application Selection Registered Proprietary Data |
9F0D | Issuer Action Code – Default |
9F0E | Issuer Action Code – Denial |
9F0F | Issuer Action Code – Online |
9F10 | Issuer Application Data (IAD) |
9F12 | Application Preferred Name |
9F15 | Merchant Category Code (MCC) |
9F16 | Merchant Identifier |
9F1A | Terminal Country Code |
9F1C | Terminal Identification |
9F1E | Interface Device (IFD) Serial Number |
9F21 | Transaction Time |
9F26 | Application Cryptogram (ARQC / TC / AAC) |
9F27 | Cryptogram Information Data (CID) |
9F33 | Terminal Capabilities |
9F34 | CVM Results |
9F35 | Terminal Type |
9F36 | Application Transaction Counter (ATC) |
9F37 | Unpredictable Number |
9F39 | Point-of-Service (POS) Entry Mode |
9F40 | Additional Terminal Capabilities |
9F41 | Transaction Sequence Counter |
9F42 | Application Currency Code |
9F44 | Application Currency Exponent |
9F45 | Data Authentication Code |
9F4C | ICC Dynamic Number |
9F4E | Merchant Name and Location |
9F53 | Consecutive Transaction Limit (International) |
9F5B | Issuer Script Results |
9F63 | Product Identification Information |
9F6E | Form Factor Indicator / Third Party Data |
9F7C | Merchant Custom Data |
A5 | FCI Proprietary Template |
BF0C | FCI Issuer Discretionary Data |
E1 | Proprietary Template |
DE55 carries BER-TLV: each item is a Tag, a Length and a Value, laid end to end. Tags are one or two bytes — you tell which by the low five bits of the first byte. If they are all ones (0x1F), another byte follows. That is why you see two-byte tags like 9F26.
When troubleshooting an authorization, a handful come up constantly: 9F26 application cryptogram (ARQC/TC/AAC, the core proof of a chip transaction), 9F27 cryptogram information data (whether the chip is recommending approval or decline), 95 terminal verification results (TVR — five bytes of flags, each bit a check that failed), 82 application interchange profile (what the card supports), and 9F34 CVM results (how the cardholder was verified).
57 (track 2 equivalent data), 5A (application PAN) and 5F20 (cardholder name) — that is cardholder data. Those must be masked in logs, tickets and screenshots; they are equivalent to the card number and fall squarely under PCI DSS.Many tags carry bit strings rather than readable text — TVR, AIP and CVM Results among them — and only mean something once decoded bit by bit. The parser on this site translates those into plain language automatically. If you just need to confirm what a tag is, the table above is faster.
A tag lookup answers "what is this number". Three things it cannot answer, and all three come up before the first one is useful.
Whether the tag is present. DE55 carries the tags a particular terminal and card chose to send for a particular transaction. There is no fixed set. A tag missing from a message is not necessarily an error, and a tag being defined in the standard says nothing about whether you should expect it.
What the value means when the tag is proprietary. Some tags are issuer or scheme defined by design — tag 9F10, the issuer application data, is the clearest case. The tag number is standard; the layout inside it is not, and no generic table can decode it without knowing whose format you are holding.
Whether the length is what you assume. BER-TLV encodes length in the message, and a multi-byte length or a constructed tag will not parse under a fixed-width assumption. This is the most common reason a TLV blob decodes cleanly for the first few tags and then turns into noise — the structural reasons are in why a message will not parse.