Skip to main content
tolio

QR Validator

Validate QR code data and check for encoding errors and compliance. The best free online tool for validating QR codes. No sign-up required, 100% free, fully private.

Upload an image containing a QR code and validate its structure. The tool decodes the QR code, displays its version, module count, and estimated data capacity, and visually highlights the finder patterns and bounding box on the image. 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 Validator?

QR Code Validator is a technical diagnostic tool for QR codes. While most QR readers simply decode the content, this tool goes deeper by analyzing the underlying structure of the QR code itself. Upload any QR code image and discover its version (1 through 40), module grid size, estimated data capacity, finder pattern locations, and bounding box overlay drawn directly on the image.

The tool uses the jsQR library to decode the QR code and extract structural metadata. The QR version determines the physical size of the code (measured in modules) and its maximum data capacity. Finder patterns — the three square markers at the corners — are automatically detected and highlighted on the image in different colors so you can verify that all three are present and properly positioned. A green bounding box outlines the QR code perimeter to confirm the code boundaries.

Everything runs entirely in your browser using client-side JavaScript. When you select an image, it is read locally using the FileReader API and processed in memory. No image data, decoded content, or structural information is ever uploaded to any server or transmitted over the network. Your privacy is fully protected.

How to Use QR Validator

  1. Click the upload area or drag and drop an image file containing a QR code. Supported formats include PNG, JPEG, WebP, GIF, and BMP.
  2. The image preview appears and the QR code is decoded automatically. A loading indicator shows that validation is in progress.
  3. Once decoded, the result card displays: the decoded content (text), the QR version number (1–40), the module grid size (e.g., 29×29 for version 3), the estimated data capacity in bytes, whether the code was decoded in standard or inverted mode, the image dimensions in pixels, the file size, the number of finder patterns detected (3 of 3 for a valid QR code), and the content character length.
  4. A bounding box overlay is drawn on the image with a green outline around the QR code perimeter. Finder patterns are marked with colored circles: red (top-left), blue (top-right), and yellow (bottom-left).
  5. Use the action buttons to open the decoded URL if applicable, copy the decoded content to your clipboard, share via the native share sheet on supported devices, or validate another QR code image.

Example

Scenario: You have a QR code image and want to verify its technical structure and determine its data capacity before using it in a production environment.

Step 1: Open the QR Code Validator tool. Click the upload area to browse for the QR code image file, or drag and drop it onto the upload zone.

Step 2: The image appears in the preview area and the tool begins analyzing it. A progress bar shows that decoding and validation are in progress.

Step 3: The result card appears showing the decoded content (e.g., "https://example.com"), QR version (e.g., version 2), module count (25×25 modules), estimated data capacity (32 bytes), and other technical details. The image now has a green bounding box around the QR code and colored markers on the three finder patterns.

Step 4: Use the information to confirm the QR code can hold the required data — if you need to encode 50 bytes, version 2 would not be sufficient, and you would need to create a larger QR code (version 3, which supports 53 bytes).

Frequently Asked Questions

What is a QR code version and why does it matter?

The QR code version (1 through 40) determines the physical size of the code in modules. Version 1 is 21×21 modules, and each subsequent version adds 4 modules per side, up to version 40 at 177×177 modules. Higher versions can store more data but require more space to print or display. Knowing the version helps you understand whether a QR code has sufficient capacity for your data.

How are modules related to QR versions?

The number of modules per side is calculated as 17 + (4 × version). For example, version 1 has 21 modules per side (17 + 4), version 3 has 29 modules (17 + 12), and version 40 has 177 modules (17 + 160). The total number of modules is the square of this value.

What are finder patterns and why are they important?

Finder patterns are the three square markers located at the top-left, top-right, and bottom-left corners of every QR code. They help scanners detect the QR code, determine its orientation, and establish the coordinate system for decoding. A valid QR code always has exactly three finder patterns. The tool highlights each one with a different color so you can verify they are all present.

What does the green bounding box represent?

The green bounding box outlines the perimeter of the decoded QR code, connecting all four corners (top-left, top-right, bottom-right, bottom-left). This visual overlay helps confirm that jsQR detected the correct code boundaries on the image.

What is inverted decode mode?

Standard QR codes use a light background with dark modules. Inverted (or negative) QR codes use a dark background with light modules. Some stylized or artistic QR codes invert the colors. The tool first attempts standard decoding, and if that fails, it tries inverted decoding as a fallback. The result card shows whether the code was decoded in "Standard" or "Inverted" mode.

What image formats and size limits are supported?

The tool supports PNG, JPEG, WebP, GIF, and BMP image formats up to 20 MB in size. Images are automatically scaled down to a maximum of 4096 pixels on the longest side before analysis to ensure fast decoding while maintaining detection accuracy.

Are my uploaded images sent to any server?

No. Everything runs entirely in your browser using client-side JavaScript. When you select an image, it is read locally using the FileReader API and processed in memory. No image data, decoded content, or structural information is ever uploaded to any server or transmitted over the network.

What does the estimated data capacity mean?

The estimated data capacity shows the maximum number of bytes that a QR code of the given version can store when using the lowest error correction level (L-level, ~7% recovery). Actual capacity depends on the error correction level and the character encoding mode used. The value shown is for byte mode with L-level error correction, representing the maximum for that version.

Does the tool work with damaged or low-quality QR code images?

The jsQR library includes error correction that can handle minor damage, low print quality, and moderate blur. The tool also retries decoding with inverted colors for stylized or negative QR codes. However, severely damaged codes or codes with significant distortion may not decode.

Can the validator identify the error correction level?

The current version does not extract the error correction level from the QR code metadata. Only the version, module count, and data capacity estimate are displayed. Error correction level extraction may be added in a future update.

What is the maximum QR version that can be decoded?

The jsQR library supports QR codes up to version 40. If your QR code uses a version higher than what jsQR supports, or if the image resolution is too low to resolve individual modules, decoding may fail.

Is this tool free to use with no restrictions?

Yes, the tool is completely free with no usage limits, no sign-ups or registration required, and no advertisements. All validation happens locally in your browser, so you can validate as many QR code images as you like.

Can I use this tool for QR code quality assurance?

Yes. The validator can be used as part of a QA workflow to verify that generated QR codes have the correct structure, all three finder patterns are present, the bounding box is properly aligned, and the version matches expectations for the data payload size.

How does the bounding box overlay work?

After decoding, a canvas overlay is drawn on top of the image preview. The green bounding box connects the four corner coordinates returned by jsQR. The three finder patterns are marked with colored circles (red for top-left, blue for top-right, yellow for bottom-left). The overlay scales dynamically with the displayed image size.

Key Takeaways

  • Upload any QR code image and validate its technical structure with detailed metrics
  • See the QR version (1-40) and module grid size instantly
  • Visual bounding box overlay drawn directly on the image — green perimeter line around the QR code
  • Three finder patterns highlighted with colored markers: red (top-left), blue (top-right), yellow (bottom-left)
  • Estimated data capacity in bytes based on QR version
  • Standard vs inverted decode mode detection
  • Image resolution and file size displayed in the results card
  • Content length in characters shown for quick reference
  • Open decoded URLs directly in a new browser tab with one click
  • Copy decoded content to clipboard or share via native share sheet
  • 100% client-side — your images never leave your device. No uploads, no tracking.
  • Supports PNG, JPEG, WebP, GIF, and BMP images up to 20 MB
  • Automatic image downscaling to 4096px max dimension for fast processing
  • No sign-ups, no usage limits, no advertisements — completely free to use
Was this helpful?