QR Code Generator
Turn any link or text into a downloadable QR code in seconds.
Turn any link, plain text, or contact detail into a scannable QR code, then download it as an image ready to print or share — no account or app install needed.
Useful for menus, business cards, event flyers, or quickly getting a URL from a screen onto a phone without typing it out.
What a QR code can encode
| Content | Format to enter | Result when scanned |
|---|---|---|
| Website | https://example.com | Opens the link |
| Wi-Fi | WIFI:T:WPA;S:NetworkName;P:password;; | Offers to join the network |
| Phone | tel:+441234567890 | Starts a call |
| SMS | smsto:+441234567890:message | Opens a pre-filled message |
| mailto:hi@example.com?subject=Hello | Opens a draft email | |
| Location | geo:51.5074,-0.1278 | Opens a map pin |
| Contact card | BEGIN:VCARD…END:VCARD | Offers to save a contact |
These are conventions the phone camera recognises. Plain text with no prefix is simply displayed.
Making a code that actually scans
- Keep the content short. A long URL produces a dense grid that needs a better camera and steadier hand — shorten links first.
- Maintain the quiet zone: a clear margin of at least four modules on every side. Codes printed flush against other artwork frequently fail.
- Size it for the scan distance. A rough rule is a code width of about one tenth of the intended scanning distance — a code read from 2 m wants to be about 20 cm across.
- Keep contrast high and polarity correct: dark code on a light background. Inverted codes fail on many scanners.
- Don't stretch it. The code must stay square or the scanner can't resolve the grid.
- Test on both an iPhone and an Android device, in the lighting where it will actually be used, before printing a thousand of them.
Static and dynamic codes
The code generated here is static: the destination is encoded directly into the pattern. It never expires, needs no service behind it, and will keep working forever — but the destination can never be changed. Print it on a menu and the URL is fixed.
A dynamic code encodes a short redirect URL instead, so the destination can be updated later and scans can be tracked. That flexibility requires a third-party service, an ongoing subscription, and the acceptance that your printed code stops working if that service disappears. For a permanent link, static is the safer choice.
Frequently asked questions
- What's the maximum amount of text a QR code can hold?
- QR codes can encode up to a few thousand characters, but shorter content (like a URL) produces a simpler, easier-to-scan code — long text produces a denser, harder-to-scan pattern.
- Will the QR code expire?
- No — a QR code generated for a URL or text doesn't expire on its own; it will keep working as long as the underlying link or content it encodes remains valid.
- Can I generate a QR code for Wi-Fi credentials or a phone number?
- Yes — enter the appropriately formatted text (like a Wi-Fi connection string or tel: link) and it will encode just like a URL.
- Can I change where the code points after printing it?
- Not with a static code like this one — the destination is baked into the pattern. If you need to change it later, encode a short redirect URL you control, so you can repoint the redirect without reprinting.
- Why won't my QR code scan?
- The usual causes are too little margin around the code, low contrast, the code being stretched out of square, printing it too small for the scanning distance, or an inverted light-on-dark design.
- Can I put a logo in the middle?
- Often yes — QR codes carry error correction that tolerates some obstruction. Keep the logo under about 20% of the area and always test scanning afterwards.