Why generating it locally matters
The thing people put in a QR code is usually private: an internal link, a wifi password, a phone number, a document that is not meant to be public. Every hosted generator sends that to a server, and many of them keep it.
Worse, a lot of free generators encode a link to their own domain that redirects to yours. That means they can count your scans, change where the code points later, or simply stop paying for the domain — at which point every printed copy of your code is dead. Nothing here does that: the code encodes exactly what you typed.
- A link on a poster, a menu or a business card
- Wifi details for guests, without reading a password aloud
- Moving a link from a desktop to a phone
- Anything you would rather not paste into someone else’s server
PNG for screens, SVG for print
Both downloads are offered because they are genuinely different jobs. PNG suits a screen or a slide. SVG is line art at any size, which is what you want for anything going to a printer — a QR code enlarged from a raster is a QR code with soft edges, and soft edges are what makes a scanner hesitate.
Both include the four modules of quiet zone the specification requires. A code cropped flush to its edges is markedly harder for a phone to lock onto, and it is the single most common mistake in printed codes.
Making a code that actually scans
Keep the text short. A long URL produces a denser code with smaller modules, which needs to be printed larger to scan from the same distance. If your link is long, shorten it before encoding rather than after.
Keep the contrast high and the polarity conventional — dark code on a light background. Inverted codes fail on a fair number of scanners, however good they look on the poster.
The page tells you the version, the module count and roughly how large to print it. Test the printed code from the distance people will actually stand at, not from six inches away.