Paying.co arrow_back Back to Paying.co Talk to us arrow_forward
data_object Parser

EMV TLV Parser & Builder

Paste BER-TLV hex from a chip or contactless transaction and read it as a labeled, nested tag tree. Key tags are bit-decoded — AIP, TVR, CVM, CID, TTQ — and DOLs are expanded into the data they request.

BER-TLV hex inputspaces, colons and 0x are ignored
Decoded tree
account_tree
Parsed TLV will appear here
Builder — assemble TLV from tag & valuevalue as hex; length is computed

About EMV BER-TLV

EMV chip and contactless data is encoded as BER-TLV: every data element is a Tag, a Length, and a Value. Tags can be a single byte or several; the constructed bit (0x20) marks objects that contain more TLV objects nested inside, like the FCI template (6F) or the Read Record template (70). This parser walks that structure recursively and labels each tag from the EMVCo specification.

What gets decoded

Frequently asked questions

What is BER-TLV in EMV?

BER-TLV (Tag-Length-Value under Basic Encoding Rules) is how EMVCo encodes payment data exchanged between a card and terminal. Each object carries a tag, a length, and a value, and constructed objects nest further objects inside.

Is my card data sent to a server?

No. Parsing happens entirely in your browser. Nothing you paste is transmitted, logged, or stored.

Need help with a certification?

This tool comes out of our EMV Level 3 work. If you are scoping a contact, contactless, or unattended certification, see our EMV capabilities →

lock Everything runs in your browser. No card data, hex, or input is ever transmitted to a server.