How to Decode and Validate a Payment QR
Learn how to decode EMVCo payment QR images and raw payloads, inspect TLV tags, and verify CRC-16 integrity with the EMV QR Hub decoder.
Why decoding matters
Decoding turns a QR image or raw string into structured tags. That is how you confirm merchant account data, currency, amount, and CRC integrity before trusting a payment QR in production.
Step 1: Capture the payload
Upload a QR image in the Decoder or paste a raw EMVCo string. Prefer the exact payload used at acceptance time; truncated strings fail CRC and nested length checks.
Step 2: Inspect top-level tags
Review Tags 00 (payload format), 01 (point of initiation), 26–51 (merchant accounts), 52–61 (merchant profile and transaction data), and 63 (CRC). Nested templates should expand into readable sub-tags.
Step 3: Confirm CRC validation
EMV QR Hub recomputes CRC-16/CCITT-FALSE over the payload through Tag 63's length marker and compares it with the stored checksum. A mismatch means the string was altered or truncated.
Step 4: Act on findings
If currency is alphabetic instead of numeric, Point of Initiation conflicts with amount presence, or merchant account GUIDs look wrong, regenerate the QR with corrected inputs rather than patching the string by hand.
