Make a QR code online, no signup and no expiry
QR codes have been around since 1994 and the spec has not really changed. The black-and-white square pattern is just an encoding of whatever text you put in it, plus some math that lets a scanner read it back even when parts of the image are damaged or covered. Every smartphone camera now scans QR codes without any app, so they have gone from a Japanese auto-parts barcode to one of the most common ways to share a link in the physical world.
Static QR vs dynamic QR, what most online tools do not tell you
Most "free QR generator" websites create dynamic QR codes. A dynamic QR points to their server, which then redirects to your real URL. That lets them count scans and let you change the destination without printing a new code. The catch is your QR stops working if they go down, stop the free tier, or just decide to break it. Many require an account and put a 30-day expiry on free codes.
This tool makes static QR codes. The QR encodes your URL or text directly into its pixel pattern. There is no server middleman, no expiry, no account, and no way for us to revoke the QR even if we wanted to. The trade-off is you cannot change the destination after printing without making a new QR. For most use cases (linking to a website, sharing WiFi, encoding a vCard), that is fine. For frequently-changing URLs, host the URL on a short link service you control and put that short URL in the QR.
Error correction explained
Every QR has a built-in error correction code that lets a scanner read the QR even when part of the image is missing. There are four levels: L (7 percent recovery), M (15 percent, the default), Q (25 percent), and H (30 percent). Higher error correction means the QR has more redundant data and the visible pattern gets denser. A QR at level H takes about 30 percent more pixels than the same data at level L.
If you plan to put a logo in the middle of your QR, set the level to H so the QR still scans with the logo covering the center. If your QR will live somewhere clean (a digital screen, a fresh poster), level M is fine. Level L is for the smallest QRs with the least data, where every bit of space matters.
WiFi QR codes are unreasonably useful
You can encode a WiFi network name and password into a QR. When a phone scans it, the WiFi settings screen pops up with everything pre-filled. The user taps Connect and they are on the network. No typing the 24-character password from a sticker. The WiFi preset button in this tool formats the encoded string correctly: WIFI:T:WPA;S:NetworkName;P:Password;;
This works for Android natively and on iOS 11 or later. Print one and put it on the wall of your home, office, restaurant, or rental property. Guests never need to ask for the password again.
Sizing your QR for the real world
A common rule of thumb is the QR size in centimeters should equal the scanning distance in meters divided by 10. So a QR meant to be read from 2 meters away should be about 20 cm tall. For business cards (held in the hand, 30 cm away), 2 to 3 cm is enough. For posters scanned from across a room, aim for 30 cm or more.
Higher resolution (more pixels in the saved PNG) is always better for print, since the printer needs enough source pixels to render the QR crisply. Use the 1024 px or 2048 px option for anything that will be printed larger than postcard size. Or download the SVG and let the printer scale it.
Pairing with other tools
After generating the QR, if you need it as a different format the SVG to JPG tool can convert the SVG output. For QR codes embedded in marketing images, use the compress image tool after to shrink the final file. To scan a printed QR back into text, use the image to text tool, which can read QR-style patterns if the image is clear enough.