Hero Background

Next-Gen App & Browser Testing Cloud

Trusted by 2 Mn+ QAs & Devs to accelerate their release cycles

Next-Gen App & Browser Testing Cloud

Free TLV Decoder Online

Paste a BER-TLV hex string and read a nested Tag, Length and Value breakdown with EMV tag names, decoded in your browser. This free tool is brought to you by TestMu AI (formerly LambdaTest), the team behind a unified software testing platform.

Categories

...

Verify Before You Deploy

Terminal-native web and mobile automation.

Try Kane CLI
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free

Input

What is a TLV decoder?

A TLV decoder is a free online tool that reads data written in Tag-Length-Value form and splits it into labelled fields. You paste a hex string, and the decoder works out where each tag begins, how many bytes its value occupies, and what that value contains, then shows the whole message as a readable tree.

Every element in a TLV stream carries three parts. The tag identifies the data field, the length states the size of the value in bytes, and the value holds the payload itself. Because the length is declared up front, a parser can walk a message without knowing in advance what any particular field means.

This decoder parses BER-TLV, the encoding used by EMV payment cards and ISO 7816 smart cards. It recognises common EMV tags by name, expands constructed templates into their child elements, and runs entirely in your browser, so the hex you paste is not uploaded to a TestMu AI server.

How does BER-TLV encoding work?

Knowing the encoding rules makes the output far easier to read, and it explains why a stray byte can throw a whole message out of alignment. These are the rules this decoder applies:

  • Single byte tags: Most tags are one byte, read as two hex characters, which covers entries such as 50, 57, 5A, 82, and 95.
  • Two byte tags: When the low five bits of the first byte are all set, one further byte is read, giving tags such as 5F24, 9F02, and BF0C.
  • Short form length: A length byte below 128 states the size of the value directly, so 0E means the value is fourteen bytes long.
  • Long form length: A length byte of 128 or more says how many length bytes follow, so 81 FF and 82 01 00 describe larger values.
  • Constructed tags: When bit six of the first tag byte is set, the value is itself a TLV sequence, and the decoder parses it recursively.
  • Primitive tags: Everything else holds raw data, shown in hex and also as text when every byte is printable ASCII.

Three byte tags fall outside what this parser handles, so a proprietary stream that uses them will not line up. For everyday EMV and ISO 7816 work the one and two byte forms cover the tags you meet.

Kane CLI - Testing Agent in Your Terminal

How to use the TLV decoder?

Decoding a TLV string takes a paste and a click, and nothing needs to be installed. Follow these steps:

  • Add your TLV data: Paste your TLV encoded hex string into the Input box, or use the icons beside it to upload a text file, load a URL you supply, or insert the built in sample.
  • Check the input format: Use hexadecimal characters only and keep an even number of them. Separate independent TLV strings with a space so each one is decoded on its own.
  • Decode the string: Leave Auto Update checked to decode as you type, or clear the checkbox and press the Convert button when the input is ready.
  • Read the Tag and Value table: The Output table lists every tag with its value in hex. Nested elements are indented under the constructed tag that contains them.
  • Inspect a single tag: Click any row to see its tag description, the value in hex, and the printable text of the value when the bytes are readable ASCII.
  • Copy or download the result: Use the icons beside the table to copy the indented breakdown to your clipboard or save it as a plain text file.

The sample button loads 6F1A840E315041592E5359532E4444463031A5088801025F2D02656E, a payment card directory response. It decodes to tag 6F, the File Control Information template, holding tag 84 with the value 1PAY.SYS.DDF01 and tag A5, which in turn holds a Short File Identifier and a language preference of en.

Features of the TLV decoder

As a tool, the TLV decoder handles the fiddly parts of BER-TLV so you can read a message instead of counting bytes. Here are the features of our decoder:

  • Recursive Nested Parsing: Constructed templates are expanded into their child tags and shown indented, so a full card response reads as a tree.
  • Built In EMV Tag Names: Common EMV and ISO 7816 tags are labelled automatically, and anything outside the dictionary is still parsed and marked Unknown.
  • Short and Long Form Lengths: Both length encodings are handled, so large values that declare their own length bytes decode correctly.
  • Printable Value Reading: Primitive values made entirely of printable ASCII are also shown as text, which exposes names, labels, and identifiers at a glance.
  • Click Through Tag Detail: Selecting a row reveals the tag description, the value in hex, and the readable value in a panel below the table.
  • Multiple Strings Per Run: Whitespace separated inputs are each decoded as their own top level element, which is useful when comparing captures.
  • Browser Based Parsing: The decoding runs locally in JavaScript, so the hex you paste is never uploaded to a TestMu AI server.
  • Copy and Text Export: Copy the indented breakdown to your clipboard or download it as a plain text file straight from the output panel.

Use cases of the TLV decoder

TLV turns up wherever compact, self describing records travel between devices. These are the jobs the decoder shortens:

  • Debugging EMV card responses: Read a SELECT or GPO response field by field instead of counting bytes through a raw hex dump by hand.
  • Terminal and kernel integration: Confirm that a payment terminal sends the tags an acquirer expects before a certification run rejects the message.
  • Checking account data fields: Pull the PAN from tag 5A and sanity check it with the Credit Card Validator when you are working with test cards.
  • Protocol and IoT tracing: Inspect TLV framed messages captured on the wire, and fall back to the Hex Dump Viewer when a payload is not TLV at all.
  • Reading value bytes as text: Decode the printable part of a field on its own with the Hex to ASCII converter or check a numeric field with the Hex to Decimal converter.
  • QA and security review: Verify that a build sends only the fields it should, and decode a wrapped payload first with the Base64 Decode tool when it arrives base64 encoded.

This decoder is maintained by TestMu AI (formerly LambdaTest), the team behind a unified testing platform, so it is shaped by the same debugging work that QA engineers do against real payment and device integrations.

Difference between a TLV decoder and a hex viewer

Both tools take the same hex string, but they answer different questions. A hex viewer shows you the bytes, while a TLV decoder shows you the fields those bytes form. The table below sums up how the two differ:

AspectTLV decoderHex viewer
What it readsTag, length, and value structureA flat sequence of bytes
OutputA nested table of named fieldsOffset columns with hex and ASCII
Field boundariesDerived from the declared length bytesYou have to work them out yourself
Tag meaningLooked up against an EMV tag dictionaryNot interpreted at all
Typical useCard responses and TLV framed messagesAny binary blob, TLV or not

Frequently Asked Questions (FAQs)

What is a TLV decoder?

A TLV decoder reads data written in Tag-Length-Value form and splits it into labelled fields. It takes a hex string, works out where each tag starts, how many bytes its value occupies, and what that value is, then shows the result as a readable tree.

Which TLV format does this decoder parse?

It parses BER-TLV, the encoding used by EMV and ISO 7816. Tags of one byte, two bytes and three or more bytes are all supported, along with short form lengths below 128 and long form lengths that declare how many length bytes follow.

Does the decoder support nested TLV structures?

Yes. When a tag is marked as constructed, the decoder treats its value as another TLV sequence and parses it recursively. Each level is shown indented beneath its parent in the output table, so templates such as 6F and A5 expand into their child tags.

Which tags does the decoder recognise by name?

It ships with a built in dictionary of common EMV and ISO 7816 tags, covering entries such as 5A for the PAN, 5F24 for the expiry date, and 9F02 for the authorised amount. Anything outside that list is still parsed but is labelled Unknown.

What does the Value Ext row show?

Value Ext is the printable reading of a value. When every byte of a primitive tag falls in the printable ASCII range, the decoder also shows the value as text, which is how tag 84 resolves to 1PAY.SYS.DDF01 in the sample string.

Can I decode more than one TLV string at a time?

Yes. Separate the strings with a space or a line break and each one is parsed as its own top level element. That is handy when you are comparing several card responses or several captured messages side by side in one pass.

Why do I get an Invalid TLV input error?

The decoder rejects input that contains anything other than hexadecimal characters, and it rejects a string with an odd number of characters because bytes are read two characters at a time. Stray prefixes such as 0x and truncated captures are the usual causes.

In which format can I export the decoded output?

The copy and download icons both produce the same indented plain text breakdown, listing each tag with its description on one line and its value beneath it. The download is saved as a .txt file. There is no JSON or CSV export.

Is my TLV data sent to a server?

No. The parsing runs in your browser with JavaScript, so the hex you paste is not uploaded to a TestMu AI server. Uploaded files are read locally, and the optional Load from URL button fetches only the address you type in yourself.

Is the TLV decoder free to use?

Yes. The decoder is completely free with no signup, login, or usage limit, and it is maintained by TestMu AI (formerly LambdaTest). You can decode as many TLV strings as your work needs without ever creating an account.

KaneAI - GenAI-Native Testing Agent

Did you find this page helpful?

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests