QR
QR Code Generator
Turn a link or text into a downloadable QR code.
Higher correction survives more damage but packs the code more densely. Use H if the code will be printed small or placed on an uneven surface.
About QR codes
A QR code is a two-dimensional barcode that stores text — most often a URL — as a grid of black and white squares. Part of every code is redundant, so it still scans when a corner is smudged or torn. You choose how much of that redundancy to spend: more correction means a denser, busier code that tolerates more damage.
How much text fits depends entirely on the error-correction level you choose, since higher correction spends more of the code's capacity on redundancy rather than data: plain text tops out around 2,950 characters at the lowest correction level (L), dropping to roughly 1,270 characters at the highest (H). This tool caps input at 2,000 characters up front as a safety margin, but a long input paired with a high correction level can still fail — if that happens, the fix is simply to drop to a lower level, not to shorten genuinely necessary text.
Where you'll run into it
- Putting a link on a poster, business card, or packaging
- Sharing Wi-Fi details without reading out the password
- Enrolling an authenticator app in two-factor login
- Linking a physical product to its documentation or warranty page
Frequently asked
Which error-correction level should I pick?
M is a good default. Choose H when the code will be small, printed on something that creases, or partly covered by a logo; choose L only when the content is long and the code will be scanned from a clean screen.
PNG or SVG?
PNG for screens and quick use. SVG is vector, so it stays sharp at any size — use it for print, large formats, or when a designer needs to place it in a layout.
Do these codes expire or get tracked?
No. The code contains your text directly, with no redirect service in between, so it works forever and nobody counts the scans. That also means the content cannot be changed after printing.
Why did generation fail even though my text is under the 2,000-character limit?
The 2,000-character cap is a safety margin, not the real limit — actual capacity depends on the error-correction level you picked. At the highest level (H), plain text tops out around 1,270 characters; at the lowest (L), it's closer to 2,950. If your text is long and you selected H or Q, try switching to M or L instead of shortening the text — you'll trade some damage tolerance for the extra room.