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:
- Load and grayscale. The image is drawn onto an HTML canvas and each pixel reduced to a single brightness value.
- Binarise. Otsu’s method picks the brightness threshold that best separates dark modules from light ones, turning the image into pure black and white.
- Find the code. The three large corner squares — the finder patterns — are located by their characteristic
1:1:3:1:1run of dark and light, which fixes the grid’s position and module size. - Sample the grid. Each module’s centre is read as a single bit, reconstructing the matrix.
- 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.