QR Code Decoder

Decode a QR code image locally — no upload, no third-party API.

Ad placeholder (leaderboard)

A QR code decoder reads the data hidden inside a Quick Response code — a URL, a Wi-Fi login, a contact card, or plain text. This tool does it without a camera and without uploading anything: drop an image of a QR code and it is decoded right in your browser.

How it works

QR decoding is a small computer-vision pipeline:

  1. Load and grayscale. The image is drawn onto an HTML canvas and each pixel reduced to a single brightness value.
  2. Binarise. Otsu’s method picks the brightness threshold that best separates dark modules from light ones, turning the image into pure black and white.
  3. Find the code. The three large corner squares — the finder patterns — are located by their characteristic 1:1:3:1:1 run of dark and light, which fixes the grid’s position and module size.
  4. Sample the grid. Each module’s centre is read as a single bit, reconstructing the matrix.
  5. Unmask and read. The format bits reveal which of the eight data masks was applied; reversing it and walking the modules in QR’s zig-zag order yields the bitstream, which is parsed into numeric, alphanumeric, or byte (UTF-8) characters.

Tips and notes

  • For the cleanest read, use a sharp, high-contrast image taken straight on. A screenshot of an on-screen QR works perfectly.
  • The result is labelled by type. A WIFI: string, for example, is flagged as a Wi-Fi network so you can see at a glance what the code carries.
  • Because everything is local, this is a safe way to inspect a QR code’s destination before trusting it — decode first, then decide whether to visit the link.
  • Very dense codes (high versions), heavy rotation, or damage may not decode; the tool tells you honestly instead of returning a wrong guess.
Ad placeholder (rectangle)