Skip to content
CardTools

EMV chip tools: TLV, TVR and CVM decoders

Everything here works on the data a chip card and a terminal exchange during a transaction. Most of it arrives as BER-TLV, either in DE 55 of an authorisation message or straight off a terminal trace, and most of the answers you want are single bits inside it. Bit numbering follows the EMV convention throughout, where b8 is the most significant bit and byte 1 is the leftmost.

Which tool for what you have

If you are holding a long hex string and do not know what is in it, start with the TLV parser. It splits BER-TLV into a tag tree, names each tag, and descends into the templates that carry other tags inside them. Most chip data you will be handed is this shape, whether it came out of DE 55, a terminal log or a PIN pad capture.

If you already know the tag and want the bits, go to the bit field decoder. TVR, TSI, AIP, AUC, CID, CVM Results, Terminal Capabilities and the contactless qualifiers are all bitmaps where the whole meaning is in which bits are set, and reading them by hand is where the mistakes happen.

If the question is why a transaction declined offline or went online, the IAC comparator is the direct answer. It masks the TVR against the Issuer Action Codes and names the specific bit that forced the outcome, which is the step people usually do on paper and get wrong.

The tags that carry the rest

Tag 4F and tag 84 hold the AID, which identifies the application the terminal selected. The AID lookup resolves it to a scheme and product, and the first five bytes on their own are the RID, the part registered to the scheme.

Tag 8E holds the CVM List, the priority-ordered rules that decide between PIN, signature, CDCVM and no verification. It is one of the few EMV structures that is not a bitmap, and the CVM list parser reads its X and Y amounts alongside the rules.

Tag 9F39 carries the POS entry mode, which lives on the ISO 8583 side of the site because DE 22 carries the same value and the interchange consequences are the same either way.

A note on the readings

These tables are built from the published EMV specifications, and the readings are the base meanings those specifications give. Kernels and schemes layer their own use on top: a bit that is reserved for proprietary use in the book may carry a real meaning on your estate, and a contactless kernel may set bits the contact flow never touches.

Where a value cannot be resolved from a public source, these tools say so rather than offering a plausible guess. An answer of "unresolved" is more use than a wrong one you act on.

The other categories