Static codes that do not expire
Many free QR generators make a "dynamic" code: the QR points at their redirect server, which forwards to your link. When the trial ends or the company folds, every printed code breaks. This tool makes static codes. Your URL is encoded directly in the pattern, so it works for as long as your URL does, with no account, tracking or middleman.
The encoder runs in your browser and follows the QR Code standard (ISO/IEC 18004): byte mode with UTF-8 text, versions 1 to 40, and automatic mask selection by penalty score, the same way commercial encoders choose the cleanest pattern.
Choosing error correction
QR codes carry redundant data so they still scan when part is dirty, torn or covered.
- L (7%): smallest code. Fine for screens.
- M (15%): the default for most uses.
- Q (25%): printed items that get handled, like flyers and packaging.
- H (30%): if you plan to put a logo over the middle.
Higher levels make the code denser, so a long URL at H may need a bigger print size.
Getting codes that scan
- Keep it short. A shorter URL makes a less dense code that scans from further away. Add UTM tags with the UTM builder, but keep them brief.
- Keep the contrast high. Dark on light works everywhere. The tool warns when contrast is too low.
- Keep the quiet zone. The blank border of 4 modules helps cameras find the code.
- Print big enough. A rule of thumb is a code width of at least a tenth of the scanning distance: 2 cm across for a 20 cm scan.
- Test before you print with two different phones.