What is TLV / BER-TLV Inspector?
TLV Inspector decodes data encoded in the BER-TLV (Basic Encoding Rules - Tag Length Value) format. This encoding is the backbone of smartcard communication, NFC tag data, and EMV payment transaction processing. Every time a payment terminal reads a chip card or a phone taps an NFC reader, the data exchanged is structured as BER-TLV.
The format encodes each data element with a tag identifying its meaning, a length indicating the data size, and the raw value bytes. Tags can be constructed, meaning they contain nested TLV elements inside their value. DevKit’s inspector recursively parses these nested structures, presenting the complete hierarchy in a navigable tree.
How to Use TLV Inspector
Paste hex-encoded TLV data into the input editor. This data typically comes from APDU response captures, NFC tag reads, or EMV transaction logs. Tap Decode to parse the hex bytes into a TLV tree.
Each element displays its tag (with the known EMV name if recognized), length in bytes, and value in both hex and interpreted form. Constructed tags expand to reveal their child elements. The built-in EMV tag database covers hundreds of standard tags, including cardholder name, application identifier, transaction amount, and cryptogram values.
Common Use Cases
- EMV payment debugging: Decode APDU responses from payment card transactions to verify cardholder verification, application selection, and cryptogram generation.
- NFC tag inspection: Parse NDEF records and card emulation data from NFC interactions to debug contactless payment or access control systems.
- Smartcard development: Inspect responses from JavaCard applets, SIM cards, or government ID cards during development and testing.
- Transit card analysis: Decode data from transit cards (Mifare, FeliCa) to understand stored value, trip history, and card configuration.
- Compliance testing: Verify TLV data structures against EMV specifications during payment terminal certification and interoperability testing.