QR Code Decoder
When you need to see exactly what the code contains, not just a tidy summary.
Camera access is requested only when you press the button. Frames are decoded on this device and discarded.
Decoder implies inspection: you want the exact bytes, including the scheme prefix and the delimiters, not a formatted summary. Both are shown here — the parsed view for use, the raw payload for verification.
That matters for structured formats. A `WIFI:` code, an `otpauth://` URI or a vCard all look like unstructured text until you see the delimiters, and copying the wrong layer is a common source of broken configurations.
How to use it
- Upload the image or scan it with the camera.
- Check the type, then switch to the raw payload if you need exact syntax.
- Copy the raw value when pasting into another system.
Structured payloads you are likely to meet
`WIFI:T:WPA;S:name;P:password;;` for network credentials, `otpauth://totp/...` for authenticator setup, `BEGIN:VCARD` blocks for contacts, `mailto:` and `tel:` for contact actions, `geo:` for coordinates. Each has its own escaping rules, and each breaks in a different way if you split naively.
For an `otpauth://` URI, the useful fields are the secret and the issuer. This page shows them and deliberately does not add the account to anything — provisioning a second factor from a scanned code without confirmation is how account takeover happens.
Reviewed 2026-10-21. This tool runs entirely in your browser — no server, no account, and nothing you generate is stored.
Frequently asked questions
What is the difference between decoding and scanning?
Nothing at the technical level. 'Decoding' emphasises the content inspection, 'scanning' emphasises the camera input. This page leans towards inspection.
Can I see the error correction level?
Not from the decoded output — error correction is a property of the code's construction, not of the payload. Reading it requires low-level decoder metadata that browser APIs do not expose.
Why does an otpauth code not add itself to my authenticator?
Because that would be a security decision taken on your behalf. The secret is displayed so you can add it deliberately in the app you trust.
Related tools
More from QR codes.