TLV Parser
Decode BER-TLV and EMV hex data into a readable tag tree.
This tool runs entirely in your browser. Your files are never uploaded to a server.
6FFile Control Information (FCI) Template(26 bytes)84Dedicated File (DF) Name(14 bytes)325041592E5359532E4444463031A5FCI Proprietary Template(8 bytes)88Short File Identifier (SFI)(1 bytes)025F2DLanguage Preference(2 bytes)656ERecognizes common EMV tags; unrecognized tags are still parsed and shown as "Unknown tag".
What this tool does
Parses raw BER-TLV or EMV hex data into a structured tree, showing each tag's ID, resolved name where known, byte length, and decoded value, recursively expanding any constructed (nested) tags into their child elements.
How to use it
Paste a hex string of BER-TLV or EMV data into the input box; the parsed tag tree appears automatically below it, with constructed tags shown as expandable groups containing their nested tags.
Worked example
Parsing `5A08 4111111111111111` produces a single primitive tag: ID `5A`, resolved name "PAN" (Primary Account Number), length `08` (8 bytes), and value `4111111111111111` — exactly the structure a chip card or payment terminal would read from that byte sequence.
Understanding tag, length, value
Every BER-TLV element has three parts: the tag byte(s) identify what kind of data follows, the length byte(s) state exactly how many bytes of value come next, and the value itself is either raw data (a primitive tag) or more nested TLV elements (a constructed tag, identified by a specific bit in the tag byte).
The built-in EMV tag dictionary
Common EMV tags — such as `5A` (PAN), `5F20` (Cardholder Name), `9F26` (Application Cryptogram), `57` (Track 2 Equivalent Data), and `4F`/`84` (Application Identifier) — are resolved to their human-readable names automatically; tags outside this dictionary are still parsed structurally and shown by their raw hex ID.
Where this format is used
BER-TLV is the encoding inside EMV chip card data (the format read by payment terminals), many ISO 8583 message fields, and various smart card and government ID applications, wherever structured, self-describing binary data needs to be nested arbitrarily deep.
Privacy
Parsing happens entirely in your browser via client-side JavaScript; the hex data you paste is never uploaded to a server, which matters when working with real card or terminal data.
Frequently Asked Questions
- What is BER-TLV encoding?
- BER-TLV (Basic Encoding Rules, Tag-Length-Value) is a binary format where each data element consists of a tag identifying its meaning, a length field, and a value. It's the encoding used inside EMV chip card data, ISO 8583 fields, and many smart card applications.
- Which EMV tags does the parser recognize?
- The built-in dictionary covers the most common EMV tags, such as 5A (PAN), 5F20 (Cardholder Name), 9F26 (Application Cryptogram), 57 (Track 2 Equivalent Data), and 4F/84 (AID). Unrecognized tags are still decoded structurally, just shown without a friendly name.
- Does the tool process my data on a server?
- No, parsing happens entirely in your browser. The hex data you paste is never uploaded, which matters when you're working with real card or terminal data.
Related Tools
TLV Builder
Build BER-TLV and EMV hex data by picking tags, formats, and values yourself.
ASTM Message Parser
Inspect ASTM-style laboratory messages as records, fields, control characters, and frames.
Number Base Converter
Convert numbers between binary, octal, decimal and hexadecimal instantly.
JWT Decoder
Decode JSON Web Tokens into readable header and payload, for free.
Cron Expression Parser
Validate and explain each field of a standard five-field cron expression.
ASCII to Text Converter
Convert text to decimal 7-bit ASCII codes and those codes back to text.