QR Code Generator
Turn a link or any text into a scannable QR code and download it as a clean vector SVG.
Updated
Encoded in your browser — nothing is uploaded.
Your QR code
- QR version
- 2 of 40
- Grid
- 25 × 25 modules
- Characters encoded
- 21
- Damage tolerance
- ~15%
The white margin around the symbol is the quiet zone — four modules wide, required by the spec, and the most common reason a printed code refuses to scan. It is included in the download, so do not crop it.
In short
How much data can a QR code hold?
A QR symbol holds up to 2,953 bytes at its largest size, version 40, with the lowest error correction. Version 40 is a 177 by 177 grid of modules; version 1 is 21 by 21 and holds only a few dozen characters. Raise error correction to level H and that same version 40 symbol carries just 1,273 bytes.
The useful limit is far below the maximum, because a dense high-version symbol needs a sharper camera and a closer stand than people actually give it.
How to use the QR code generator
Type or paste whatever you want encoded — a URL, a phone number, a Wi-Fi string, a line of plain text — and the code redraws as you type. Set the download size, pick an error-correction level, and press Download SVG. The encoding happens in your browser, so nothing you type is uploaded, which matters given how often these carry a private link or a network password.
The download is a vector SVG rather than a pixel image, which is the right format for anything headed to print: vectors have no resolution, so the same file is crisp on a business card and crisp on a banner, with no blur or jagged edges when someone scales it up. If a printer insists on a raster file, export the SVG at the final print size rather than blowing up a small PNG.
2,953 bytes
Maximum payload
version 40 at level L
177 × 177
The largest grid
version 1 is 21 × 21
4 modules
Quiet zone
required margin on every side
A QR symbol is a square grid of modules, and the tool picks the smallest grid your data fits into — that is the version it reports, somewhere between 1 and 40. More data means a higher version, which means more modules squeezed into the same printed square, which means a camera has to resolve finer detail from the same distance.
That is the single trade-off worth understanding, and it is why shortening the payload is the highest-value edit you can make. Swapping a 104-character URL full of tracking parameters for a 21-character short link takes the symbol from version 6 down to version 2 at the default error-correction level, dropping the grid from 41 modules across to 25 and making every module almost two-thirds wider at the same printed size.
Measuring the payload before you encode
Symbol version follows character count, so trimming the URL is the useful edit. The word counter reports characters with and without spaces for any string you paste.
Open the word counter →Error correction is the other lever, and it works in the opposite direction. The standard defines four levels, L through H, each able to restore a share of a damaged symbol using Reed-Solomon coding.
- Level L
- about 7 percent
- Level M, the default
- about 15 percent
- Level Q
- about 25 percent
- Level H
- about 30 percent
That recovery is not free: it is paid for out of the same capacity your text uses, so at a given version a higher level holds less. The largest symbol, version 40, holds 2,953 bytes at level L and only 1,273 at level H.
Level M is the sensible default for clean print such as flyers, menus, packaging, and business cards. Move up to Q or H for outdoor signage, small industrial labels, surfaces that get scuffed, or any code with a logo dropped into the middle of it.
Keep the code dark on light with real contrast too: inverted codes and low-contrast pastels confuse many scanners, and a code printed over a photograph is a coin flip.
Then test before you commit. Scan the finished artwork with two or three different phones, from the distance people will actually stand at, in the lighting the code will live in — a poster in a dim corridor is a different problem from a menu on a table. Finding out at proof stage costs nothing; finding out after a print run costs the print run.
Do
- Shorten the destination before you raise the size or the error correction.
- Keep level M for clean print and move to Q or H outdoors.
- Keep the four-module quiet zone that ships inside the downloaded SVG.
- Scan the proof with two or three phones at the real distance.
Don't
- Crop the white margin to make the code fit a layout.
- Print the modules light on dark or over a photograph.
- Drop the error correction to squeeze a long payload in.
- Blow up a small PNG when a printer asks for a raster file.
What a payload costs you in symbol size: the version and module grid this tool settles on for a range of typical payloads, at each of the four error-correction levels.
| What you are encoding | Characters | L (~7% recovery) | M (~15%) | Q (~25%) | H (~30%) |
|---|---|---|---|---|---|
| Phone number | 12 | 1 (21×21) | 1 (21×21) | 2 (25×25) | 2 (25×25) |
| Short domain, no path | 21 | 2 (25×25) | 2 (25×25) | 3 (29×29) | 3 (29×29) |
| Wi-Fi credential string | 41 | 3 (29×29) | 3 (29×29) | 4 (33×33) | 5 (37×37) |
| Tidy page URL | 45 | 3 (29×29) | 4 (33×33) | 4 (33×33) | 6 (41×41) |
| Short link with a path | 60 | 4 (33×33) | 4 (33×33) | 5 (37×37) | 7 (45×45) |
| Ordinary campaign URL | 80 | 5 (37×37) | 5 (37×37) | 7 (45×45) | 8 (49×49) |
| URL with tracking parameters | 104 | 5 (37×37) | 6 (41×41) | 8 (49×49) | 10 (57×57) |
| Short paragraph of text | 150 | 7 (45×45) | 8 (49×49) | 10 (57×57) | 12 (65×65) |
| Contact details block | 200 | 9 (53×53) | 10 (57×57) | 12 (65×65) | 15 (77×77) |
| Long contact block | 300 | 11 (61×61) | 13 (69×69) | 16 (81×81) | 18 (89×89) |
| Half a page of text | 500 | 15 (77×77) | 17 (85×85) | 21 (101×101) | 24 (113×113) |
| A full page of text | 1,000 | 22 (105×105) | 26 (121×121) | 31 (141×141) | 36 (161×161) |
| Two pages of text | 2,000 | 33 (149×149) | 38 (169×169) | Will not fit | Will not fit |
How big should a printed code be?
The common rule of thumb is 10:1 — the symbol should be at least a tenth as wide as the distance people will scan it from, so a code read at arm's length of about 30 cm wants roughly 3 cm across, and a poster read from 2 metres wants about 20 cm.
That rule assumes a modest version. A dense version 20 symbol packs 97 modules into the same square that a version 2 code fills with 25, so each module is under a third the width and the code needs proportionally more size, better light, or a closer stand.
Read it: The same 104 characters need version 6 at the default level M but version 10 at level H, jumping from a 41 × 41 grid to 57 × 57 for exactly the same payload.
Versions produced by running this page's own encoder over the payload; version n has 4n + 17 modules per side.
The formula, worked line by line
There is nothing to calculate on your side — the tool picks the smallest symbol your data fits into and reports which one it landed on. But the grid it chooses follows one fixed rule, and knowing that rule is what turns the version number in the results from trivia into a design decision.
Every version from 1 to 40 adds four modules to each side of the square, so the symbol grows in fixed steps rather than smoothly. That is why a payload can sit comfortably for several extra characters and then suddenly jump a version: you are not paying for data continuously, you are paying in whole grid steps, and each step makes every module smaller at the same printed size.
modules per side = 4 × version + 17
version 1 = 21 × 21 modules · version 40 = 177 × 177 modules
downloaded symbol = the grid plus a 4-module quiet zone on every side
minimum printed width ≈ scanning distance ÷ 10- The short URL the tool loads
- 21 characters
- At the default level M
- version 2, so 4 × 2 + 17 = 25 modules
- With the quiet zone
- 25 + 8 = 33 modules across
- Same URL at level H
- version 3, a 29 × 29 grid, 41 with the zone
- Cost of level H here
- a symbol roughly a quarter wider
The same 21 characters of payload in both cases; the extra width is all recovery data.
The capacity trade-off is the same story at the other end of the scale. Version 40, the largest symbol the standard defines at 177 × 177 modules, holds 2,953 bytes at level L and only 1,273 bytes at level H — the higher level survives more damage precisely because it spends more than half the capacity on recovery data.
The fix for a code that will not fit is almost always to shorten the destination, not to drop the error correction to squeeze it in.
Questions people ask
Sources
Where the constants and formulas on this page come from. Each line names the figure it backs.
The symbology facts this page rests on: version 1 at 21 by 21 modules up to version 40 at 177 by 177, the 4n + 17 rule, the four-module quiet zone, and the four error-correction levels.
ISO/IEC 18004:2024 — QR code bar code symbology specification — ISO/IEC, Edition 4, August 2024
That Denso Wave has waived its patent rights for standard-conforming QR codes while QR Code remains its registered trademark.
About the patent — DENSO WAVE
Related guides
How Are Loan Payments Calculated? Amortization, Explained
One level payment, front-loaded interest — the formula worked by hand, the two levers you control, and why the smaller payment is often the costlier loan.
July 23, 2026 · 13 min read
How Does Inflation Work? The Math That Shrinks Money
One growth factor, two answers — what today's money will buy later, and how many future dollars it takes to keep up.
July 23, 2026 · 13 min read
How Is Sales Tax Calculated? Rates, Rules, and the Reverse Math
The combined-rate reality, the one-multiplication forward formula, and the division that pulls the tax back out of any total.
July 23, 2026 · 13 min read