Scenario: A developer is building a QR code payment system and needs to verify that the generated QR codes comply with the ISO/IEC 18004 specification. They want to confirm the EC level, mask pattern, and version selection are appropriate for the payment data.
Step 1: The developer generates a QR code containing a UPI payment URL with version 3, EC level M, and mask pattern 2. They save the QR code as a PNG screenshot and upload it to QR Metadata Viewer.
Step 2: The tool decodes the QR code and displays the summary: version 3, 29×29 module grid, EC level M (~15% recovery), mask pattern 2, module size 8.5 px, and standard decode mode. The decoded content shows the full UPI URL.
Step 3: The Format Information section shows the raw 15-bit codeword "110100101001010" with 93% BCH decoding confidence. The EC level is confirmed as M (Medium) and mask pattern as 2.
Step 4: In the Code Geometry section, the developer notes module size is 8.5 px — adequate for smartphone scanning. The finder pattern distances (TL→TR: 249.6 px, TL→BL: 249.6 px) confirm the QR code has minimal skew. The image resolution is 1024×1024 px with alignment patterns count of 0 (version 3 has no alignment patterns as expected).
Step 5: The Data Capacity table shows version 3 at EC level M allows 44 data codewords (34 data + 10 EC). The payment URL uses 62 bytes, which exceeds the 34 data codeword capacity of version 3 M — this means the QR generator actually used version 4 or higher, or a different EC level, to fit the data. The developer investigates and finds the generator auto-selected version 4 instead of version 3, prompting a configuration fix.