QR Code Generator
Runs locally
Turn any text or link into a QR code, or go the other way — upload an image of a QR code (up to 2MB) and see what it contains. Both directions run entirely in your browser.
Your data is processed locally in your browser and is not uploaded.
Learn more about this tool⌄
How it works
Generation uses the open-source `qrcode` library to encode your text into a QR code image; scanning uses the open-source `jsQR` library to decode an uploaded image's pixel data. Neither your text nor your uploaded image is ever sent to a server.
Common use cases
- Creating a QR code for a URL, Wi-Fi network, or contact card
- Checking what a QR code on a poster, package, or document actually links to before opening it
- Generating a scannable code for a printed label or presentation
- Downloading a QR code as SVG for crisp printing at any size
Frequently asked questions
- Is my text or uploaded image sent to a server?
- No. Both generating and scanning QR codes happen locally in your browser using open-source libraries — nothing is uploaded.
- What's the file size limit for scanning?
- Uploaded images must be 2MB or smaller.
- What does the error correction level do?
- Higher levels (Q, H) let the QR code still scan correctly even if part of it is damaged or obscured, at the cost of a denser code. Medium (M) is a good default for most uses.
- Why didn't scanning find a QR code in my image?
- Make sure the QR code is reasonably clear and not too small or blurry in the image. Very low-contrast or heavily distorted codes may not be detected.