BER-TLV Parser
Parse hex TLV (Tag-Length-Value) data from EMV, GlobalPlatform, and ISO 7816 smart card protocols. Supports 1-2 byte tags, multi-byte lengths (0x81-0x84), and nested constructed TLV structures.
Supports: ISO 7816-4 BER-TLV, EMV Book 3, and GlobalPlatform encoding rules. Tag can be 1 byte (e.g. 5A) or 2 bytes when bits 5-1 of the first byte are 11111. Length uses short form (1 byte, <0x80) or long form (0x81-0x84 prefix followed by 1-4 length bytes).
How to Use
Input: Paste a hex string (with or without spaces) containing BER-TLV encoded data. This commonly comes from EMV card responses (SELECT response, GPO response, READ RECORD), NFC tags, or GlobalPlatform commands.
Output: Each TLV is shown with its tag, length, and value. Constructed tags (those containing nested TLVs) show their children indented. Tag names are auto-resolved from the EMV tag database when available.
Example Use Cases
- EMV transaction debugging — Parse FCI, AFL, GPO, and READ RECORD response data
- Smart card development — Decode SELECT and GET DATA responses
- NFC tag reading — Parse NDEF and proprietary TLV from NFC Forum tags
- Protocol analysis — Verify TLV encoding correctness during card personalization