How to use: QR Code Decoder
QR Code Decoder is a free online qr tool that upload a PNG, JPG, WebP or GIF and decode the QR code locally with jsQR, then identify the payload type and parse its fields instantly in your browser. Paste your data, adjust the options and get the result in real time — no installation, no sign-up, and nothing is ever uploaded to a server.
Description
Upload a PNG, JPG, WebP or GIF and decode the QR code locally with jsQR, then identify the payload type and parse its fields.
- qr
- Because everything is computed client-side, QR Code Decoder is safe to use with sensitive data such as API keys, tokens or private logs.
How to use
Using QR Code Decoder takes three steps:
- Paste your data into the input box (or load the example).
- Configure the options to match your target format or scenario.
- Copy, download or inspect the output — it updates live as you type.
Run
Use cases
Common situations where QR Code Decoder helps:
- Upload a PNG, JPG, WebP or GIF and decode the QR code locally with jsQR, then identify the payload type and parse its fields.
Parameters
| key | Options | type | allowed | default | QR Code Decoder |
|---|---|---|---|---|---|
show | Also show | select | parsed (Parsed fields), raw (Raw payload only), hex (Raw + hex dump) | — | parsed |
Input: file · Output: text · live update while typing: ✗
FAQ
What is QR Code Decoder?
QR Code Decoder upload a PNG, JPG, WebP or GIF and decode the QR code locally with jsQR, then identify the payload type and parse its fields. It runs entirely in your browser, so your data stays private.
Is QR Code Decoder free to use?
Yes. QR Code Decoder is free, unlimited and works without registration or installation.
Does my data get uploaded?
No. All processing happens locally in your browser; nothing is sent to any server.
Good to know
- This tool reads a file you choose locally; the file is processed in your browser and is never uploaded.
- The result does not update while you type — press Run after changing the input.
- Everything runs client-side, so extremely large inputs are limited by your browser tab’s memory rather than by a server upload limit.
- The worked example below could not be pre-computed for this tool (needs_file); the interactive tool above still works normally.