Make a QR code
Type a link and the code appears. It is generated in this tab, so whatever you encode stays on your machine.
How it works
A QR code is a grid of black and white squares that encodes text directly. There is no lookup and no database: a scanner reads the pattern and reconstructs the characters from the pattern alone. That is worth knowing because it decides what happens to your code in five years.
Static codes cannot expire
The code this page produces is static. Your link is inside the pattern, so it works for as long as the destination does, with nobody in the middle. Many free generators hand you a dynamic code instead, which encodes a short link on their server that redirects to your destination. That is genuinely useful when you need to change where a printed code points, and it is also a subscription: stop paying and the redirect stops resolving, and every poster you printed becomes a dead end.
The tradeoff is real rather than one-sided. A static code cannot be repointed after printing, and it carries no scan analytics. If you need either, a dynamic code is the right tool and this is not it.
What error correction buys
Every code carries redundant data so it still reads when part of it is dirty, creased or covered. Four levels exist: roughly 7, 15, 25 and 30 percent of the code can be destroyed and still recovered. The redundancy occupies modules, so raising the level either shrinks how much you can encode or pushes the code to a denser version.
Medium is the usual choice. Choose the highest level when a logo will sit over the middle, or when the code goes somewhere it will be handled, rained on, or printed on something that creases.
Size, and why it is integer scaled
The grid is drawn at a whole number of pixels per module, then the image is that many pixels across. A fractional module width lands rows on half pixels, and the soft edges that produces are a common reason a code photographs badly under a phone camera. The size you choose is therefore honoured to the nearest exact multiple, which is why the reported dimensions may sit slightly under the slider.
For print, the working rule is that the code should be about a tenth of the distance it will be scanned from. A code read at two metres wants roughly twenty centimetres. Contrast matters more than size: dark on light, never the reverse, and never a busy photograph behind it.
The quiet border
The specification requires four modules of blank margin on every side, and scanners use it to find where the code begins. It is included by default. Turning it off is for layouts that already leave clear space around the image, and a code pasted tight against text without it is the most common reason a scan fails for no visible reason.
Questions
Does the code expire, or stop working if this site goes away?
No. Your text is encoded in the pattern itself, so nothing needs to resolve a link back to us. The code keeps working as long as whatever it points at keeps working, and it would still scan if this site disappeared tomorrow.
Is what I encode sent anywhere?
No. The matrix is computed and drawn in this tab, and the PNG is built here as well. Open the Network tab and watch it stay empty while you type.
How much text will fit?
A great deal more than is sensible. The largest version holds about 4,296 alphanumeric characters at the lowest error correction, but codes that dense need a good camera and a steady hand. Links of ordinary length produce a comfortable code; if yours is very long, shorten it before encoding rather than after.
Can I put a logo in the middle?
Download the PNG and place your logo over the centre in any image editor. Set error correction to the highest level first, and keep the covered area under roughly a fifth of the code. Test the result with an actual phone before printing a thousand of them.