EMV CVM List Decoder

Parse EMV Cardholder Verification Method (CVM) Lists (Tag 8E) from payment cards. Decode CVM condition codes, CVM types, CVM amounts (X/Y), and CVM fail handling. Essential for EMV payment terminal developers and card application testing.

Paste CVM List (Tag 8E Data)

Decoded CVM Rules

Paste CVM hex and click Decode CVM List

EMV CVM List Structure

BytesFieldValues
n × 2CVM Condition Code + CVM Type CodeEach CVM entry is 2 bytes
n × 2CVM Amount (X/Y)Byte 1 = CVM Amount X, Byte 2 = CVM Amount Y (in reference currency)

The CVM amount is always 2 bytes after the condition+type pair. If "Apply succeeding CVM rule" byte follows, it indicates "fail" handling.

How to Use

1. Extract CVM List from a payment card using SELECT + READ RECORD or GET DATA (Tag 8E).
2. Paste the CVM hex value into this tool.
3. Get instant human-readable CVM rules showing the order of verification methods the terminal should try.

Related Tools

EMV TLV Parser & DOL Builder — Full EMV data extraction | APDU Command Builder — Build EMV APDUs | EMV Tag Reference — Complete EMV tag list

Cardholder Verification Methods (CVM)

The CVM List (tag 8E) tells the terminal which cardholder verification methods are supported and in what priority order. Each entry in the CVM List is a 2-byte CVM Code followed by a 2-byte Amount/Condition. The terminal evaluates each entry in order and applies the first matching CVM.

CVM Types

Common CVM codes: 0x01 = Offline Plaintext PIN (verify PIN on the card). 0x02 = Online PIN (send PIN to issuer for verification). 0x03 = Plaintext PIN plus Signature. 0x04 = Offline Enciphered PIN. 0x05 = Enciphered PIN plus Signature. 0x1E = Signature on receipt. 0x1F = No CVM required. 0x7F = No CVM required if the terminal supports CVM capability. Each code is combined with a condition byte specifying whether the amount must be below or above a threshold.

Terminal Processing

The terminal reads the CVM List, iterates through entries, and for each entry checks: Is the CVM supported by the terminal? Does the amount condition match? If both conditions are met, the terminal executes that CVM. If a CVM fails (e.g., wrong PIN), the terminal may try the next entry or fail the transaction. The CVM Results tag (tag 9F34) records which CVM was attempted and whether it succeeded. Use our EMV Cryptogram Visualizer to see how CVM fits into the overall transaction flow.

Get the CVM Data Off a Real Card

The CVM list bytes this tool decodes are stored on the card itself - read them with a reader.

ACR1252U Smart Card Reader ACR1252U Smart Card Reader (~$65) — Reads the CVM list from EMV cards in the same session as other 9F/DF tags.
Check Price on Amazon

Disclosure: As an Amazon Associate, CardWise earns from qualifying purchases at no additional cost to you. This does not affect our recommendations.