Skip to main content
tolio

QR Metadata Viewer

View detailed metadata, version, error correction level, and properties of QR codes. No sign-up required, 100% free, fully private. Best free online QR metadata viewer.

Upload a QR code image and view its complete technical metadata. The tool decodes the QR code and reveals the version, error correction level, mask pattern, alignment pattern layout, format information bits, codeword structure, and more. Everything runs in your browser — no images are uploaded to any server.

Upload QR Code Image

Upload QR Code Image

Click to browse or drag and drop an image. Supports PNG, JPEG, WebP, GIF, and BMP.

Related Tools

What is QR Metadata Viewer?

QR Metadata Viewer is a technical diagnostic tool that decodes a QR code image and displays every layer of its internal structure. Unlike a standard QR scanner that only shows the decoded text, this tool reveals the QR code's version number, error correction (EC) level, mask pattern, format information bits, alignment pattern layout, Reed-Solomon codeword structure, and raw binary data in hexadecimal format.

Every QR code follows the ISO/IEC 18004 specification, which defines a precise structure: finder patterns at three corners for orientation, timing patterns for module alignment, format information that encodes the EC level and mask pattern, data codewords split into Reed-Solomon blocks, and alignment patterns for larger versions. This tool reads each layer by combining the jsQR decoder with pixel-level analysis of the format information and the official QR version lookup tables.

The tool is designed for QR code enthusiasts, developers integrating QR generation, quality assurance engineers validating QR code outputs, and anyone curious about how QR codes store data internally. Understanding the metadata helps diagnose scanning failures — for example, a version that is too small for the data, a mask pattern that reduces contrast on certain surfaces, or an EC level that provides insufficient error recovery for the intended use case.

Everything runs entirely in your browser using client-side JavaScript. Your image is never uploaded to any server — all pixel analysis and metadata decoding happens locally on your device, making it suitable for analyzing proprietary or confidential QR codes without privacy concerns.

How to Use QR Metadata Viewer

  1. Click the upload area or drag and drop a QR code image onto it. The tool accepts PNG, JPEG, WebP, GIF, and BMP image formats up to 20 MB.
  2. Wait while the tool decodes the QR code and extracts its full technical metadata. A progress bar shows the analysis status.
  3. Review the Summary Card at the top, which shows the QR version, module grid size, detected EC level with recovery percentage, mask pattern number, computed module size in pixels, and whether the code was decoded in standard or inverted mode.
  4. Examine the Format Information section to see the raw 15-bit format info codeword, BCH decoding confidence, EC level name, and mask pattern number. An explanation note describes how format information is structured and protected.
  5. Inspect the Code Geometry section for detailed measurements: version, module grid, alignment pattern count, finder pattern distances, image resolution, file size, and the exact pixel coordinates of each finder pattern center.
  6. Compare all four Error Correction levels in the Data Capacity by EC Level table. The detected EC level is highlighted with a ring indicator. Each level shows its data codeword count, EC codeword count, total codewords, and a visual ratio bar.
  7. View the Raw Binary Data section for byte length, content character count, data codeword usage, EC ratio, and a hexadecimal preview of the first 64 bytes.
  8. Review the Visual Overlay Key that explains the colored rectangles drawn on the image: green dashed for quiet zone, blue solid for QR boundary, red/blue/amber for the three finder patterns, and purple for alignment patterns.
  9. Use the action buttons to Open URL (if the decoded content is a URL), Copy the decoded text, Share the result, or Analyze Another QR code.

Example

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.

Frequently Asked Questions

What is QR metadata and why is it useful?

QR metadata refers to the technical parameters encoded within a QR code beyond the decoded content: version (1-40), error correction level (L/M/Q/H), mask pattern (0-7), format information bits, alignment pattern positions, and Reed-Solomon codeword structure. This metadata is useful for developers validating QR generators, quality assurance teams auditing printed codes, and advanced users troubleshooting scanning failures.

How is the error correction level detected?

The EC level is extracted from the format information embedded in the QR code. The tool reads the 15-bit format info codeword from pixel data around the finder patterns, XORs it with the format info mask pattern (0x5412), applies BCH error correction to fix up to 3 bit errors, and decodes the 5 data bits: bits 4-3 encode the EC level (01=L, 00=M, 11=Q, 10=H) and bits 2-0 encode the mask pattern reference.

What is a mask pattern and how does it affect scanning?

A mask pattern (0-7) is a mathematical transformation applied to the QR code modules to balance dark and light areas for reliable scanning. Different masks work better on different surfaces — for example, mask patterns with vertical stripes may perform poorly on printed surfaces with similar textures. The tool shows which mask pattern was used in the QR code you uploaded.

What is the format information and where is it stored?

Format information is a 15-bit codeword stored in two redundant copies around the finder patterns. It encodes the error correction level (2 bits), mask pattern reference (3 bits), and 10 Reed-Solomon BCH error correction bits. The two copies allow the decoder to correct up to 3 bit errors, ensuring reliable EC level and mask pattern detection even in damaged codes.

How is the version number determined?

The version number (1-40) is directly decoded by the jsQR library from the QR code's structure. Version 1 has 21×21 modules, and each subsequent version adds 4 modules per side, up to version 40 with 177×177 modules. Versions 7 and above also include version information blocks for additional error correction of the version number itself.

What are alignment patterns and why do larger QR codes need them?

Alignment patterns are 5×5 module squares placed at fixed positions within larger QR codes (version 2 and above). They help the scanner correct geometric distortion when scanning at an angle. The number and position of alignment patterns depends on the version — version 2 has 1 alignment pattern, while version 40 has 49 alignment patterns arranged in a 7×7 grid.

What are Reed-Solomon blocks and how do they relate to EC levels?

QR codes use Reed-Solomon error correction, which divides the data into blocks and adds parity codewords to each block. The EC level determines the ratio of data codewords to error correction codewords. For version 6 with EC level L: 136 data codewords + 36 EC codewords (blocks: 2 blocks × 68 data codewords each). At EC level H: 60 data codewords + 112 EC codewords (4 blocks × 15 data codewords each). More EC codewords mean higher resilience but lower data capacity.

Can the tool detect inverted (light-on-dark) QR codes?

Yes. The tool attempts to decode the QR code in both standard and inverted modes. If the initial decode fails, the image is binarized (converted to pure black and white) and re-decoded with inversion enabled. The result card indicates whether the code was decoded in standard or inverted mode.

What is the accuracy of the format info BCH decoding?

The BCH error correction can correct up to 3 bit errors out of the 15-bit format info codeword. The confidence percentage reflects how many bit errors were corrected — 100% means no errors detected, 93% means 1 bit was corrected, 87% means 2 bits, and 80% means 3 bits. If more than 3 errors exist, the tool cannot reliably decode the format info and falls back to a default EC level (M) with a reduced confidence display.

How are module size and finder pattern distances calculated?

Module size is calculated by measuring the pixel distance between the top-left and top-right finder pattern centers and dividing by the number of modules between them (10 + 4 × version). Finder pattern distances are measured as straight-line Euclidean pixel distances between the three finder pattern center coordinates returned by jsQR. These measurements help assess whether the QR code is skewed or has adequate size for scanning.

Does the tool support all QR code versions 1 through 40?

Yes. The tool supports versions 1 through 40 with complete lookup tables for total codewords and data codewords at all four EC levels. Alignment pattern positions are also included for all versions, and the overlay draws alignment pattern markers for version 2 and above.

Can this tool help debug QR code generation issues?

Absolutely. Developers can use QR Metadata Viewer to verify that their QR generator produces correct metadata: confirm the expected EC level, check that the mask pattern selection is appropriate, verify the version selection is correct for the data length, and inspect the raw binary output for any encoding anomalies.

Is there a limit on image size or file type?

Images up to 20 MB are accepted in PNG, JPEG, WebP, GIF, and BMP formats. Images larger than 4096 pixels in any dimension are automatically scaled down for processing. For best results, ensure the QR code occupies a significant portion of the image frame and the resolution is at least 300×300 pixels.

Are my images uploaded to any server?

No. All processing — image decoding, QR detection, format info extraction, and metadata computation — happens entirely in your browser using client-side JavaScript and the jsQR library. Your images and decoded data never leave your device. This makes the tool suitable for analyzing proprietary designs, confidential documents, and sensitive payment QR codes.

Key Takeaways

  • Displays the QR code version (1-40) and exact module grid dimensions (21×21 to 177×177)
  • Detects error correction level (L/M/Q/H) with recovery percentage and BCH decoding confidence via format info bits
  • Identifies the mask pattern (0-7) used during QR code generation
  • Extracts and displays the raw 15-bit format information codeword with bit-level breakdown
  • Computes module size in pixels and finder pattern center-to-center pixel distances
  • Lists alignment pattern count and positions for version 2 and above
  • Presents full Reed-Solomon codeword structure with data, EC, and total codeword counts for all four EC levels
  • Displays finder pattern center pixel coordinates (top-left, top-right, bottom-left)
  • Shows image resolution, file size, content length, and decode mode (standard or inverted)
  • Renders a visual overlay on the image marking quiet zone, QR boundary, finder patterns, and alignment patterns
  • Provides a hexadecimal dump of the raw binary data (first 64 bytes) for low-level inspection
  • 100% client-side — image never leaves your device. No server uploads, no tracking.
  • Open URL / Copy / Share action buttons for the decoded content
Was this helpful?