Utilities
QR Code Generator
Paste a website link, plain text, a phone number, a Wi-Fi string or anything else, and this tool draws a scannable QR code right in your browser. Choose how large you want the image, then download it as a crisp PNG you can print on a flyer, a business card, a menu, a product label or a packing slip. QR codes are everywhere in the United States now — on restaurant tables, parking meters, event tickets and storefront windows — because any modern phone camera reads them instantly with no app required. The generator runs entirely on your device, so whatever you encode never leaves your computer and nothing is uploaded to a server.
QR code content
Scan with any phone camera to test it before you print. Higher error correction survives smudges and logos better.
How the QR code generator works
A QR (Quick Response) code is a two-dimensional barcode made of black and white squares called modules. Your text is encoded into a grid using a fixed pattern of finder squares, alignment markers and timing rows, then wrapped in Reed–Solomon error-correction data so the code still scans even if part of it is damaged. This tool computes that grid locally and paints each module onto an HTML <canvas>, which is why it can produce a downloadable image with zero network calls.
how a QR code is built
text → encode → place modules → add error correction → render gridsize = the canvas dimension in pixels (the grid is scaled to fit) error correction = how much of the code can be obscured and still scan L ≈ 7%, M ≈ 15%, Q ≈ 25%, H ≈ 30% recoverable
The code regenerates the instant you change the text, size or error-correction level, so you always see exactly what will be saved.
Tips for reliable scanning
- Keep a quiet margin (white border) around the code — don't crop it tight when you print.
- Use Medium or higher error correction if the code will be small or placed over a busy background.
- Print at 400px or larger for anything that will be scanned from more than a few feet away.
What you can encode
Anything that's text works: a website URL, a coupon code, a calendar event, contact details, a Wi-Fi join string, a PayPal or payment link, or a plain message. For a website, include the full https:// prefix so phones open it directly. Shorter content produces a simpler, easier-to-scan grid, so trim long links where you can.
Worked example: a table menu code for a coffee shop
Say you run a coffee shop and want every table to carry a code that opens the menu at https://yourcafe.com/menu. Paste that URL above with the https:// included, pick 600 × 600 pixels so the PNG has resolution to spare, and set error correction to Quartile (Q): table cards get wiped, splashed and scratched, and Q keeps the code readable with up to a quarter of it obscured. Download the PNG and place it in your card layout at about 3 × 3 cm printed size, which comfortably covers the arm's-length scan distance of 30 to 40 cm. Print one proof, scan it with two different phones under the shop's actual lighting, and only then order the full run. Five minutes of testing is cheaper than reprinting fifty laminated cards.
Choosing an error-correction level
Error correction is a trade: higher levels survive more damage but spend more of the grid on redundancy, so the same content produces a denser code. The capacity column shows the ceiling for the largest QR size (version 40) in bytes; moving from L to H roughly halves what fits.
| Level | Recovers up to | Max capacity (bytes) | Best for |
|---|---|---|---|
| L (Low) | 7% | 2,953 | Clean screens: slides, TVs, kiosk displays, or long content where every byte counts |
| M (Medium) | 15% | 2,331 | The sensible default: flyers, posters and packaging in good condition |
| Q (Quartile) | 25% | 1,663 | Codes that get handled: menus, tickets, outdoor stickers |
| H (High) | 30% | 1,273 | Very small prints, harsh environments, or a logo placed over the center |
If the code lives on a screen and scans on the first try at Medium, stay at Medium. Reach for Q or H when the physical code will take abuse or you plan to cover part of it.
What to encode, and how big to print
Shorter content scans faster because it produces fewer, larger modules. A 25-character link fits a 25 × 25 grid at level M, while a 90-character tracking URL needs a 41 × 41 grid: at the same printed size, each module is about 40% smaller and harder for a camera to resolve at a distance or in dim light. Trim UTM parameters where you can, or point the code at a short URL you control and let the server redirect.
Beyond plain links, phones understand several text formats natively: WIFI:T:WPA;S:NetworkName;P:password;; joins a Wi-Fi network, tel:+15551234567 opens the dialer, mailto:hello@example.com starts an email, and vCard text adds a full contact (name, phone, email) in one scan.
Print size rule of thumb: scan distance ÷ 10. A code scanned from arm's length (about 40 cm) should be at least 4 cm wide; a poster read from 3 m needs roughly 30 cm. Never go below about 2 × 2 cm for anything printed, keep the white quiet zone this tool draws around the pattern, and print dark modules on a light background, since scanners are far less reliable with inverted colors.
Frequently asked questions
Do these QR codes ever expire?
No. The codes this tool creates are static, meaning the link or text is baked directly into the image. There is no redirect, no account and no server in the middle, so the code works forever and never expires. The only way it stops working is if the website it points to goes offline — but that's the destination's doing, not the QR code's.
Is this QR code generator really free?
Yes, completely free with no sign-up, no watermark and no usage limits. Every code is generated in your browser using a small open-source algorithm bundled into the page, so there's nothing to pay for and nothing is uploaded anywhere.
What size and format should I download?
The tool exports a transparent-background-free PNG at the pixel size you select. For print, pick 400px or larger and place it in your design at the physical size you need; PNGs scale down cleanly. For on-screen use such as a slide or email, 280px is usually plenty. PNG is the safest format because it stays sharp and is supported everywhere.
What does error correction do?
Error correction adds redundant data so a scanner can still read the code when part of it is dirty, faded or covered. Higher levels (Q and H) recover more damage but make the grid denser, which can make very small codes harder to scan. Medium (M) is the common default and balances durability against simplicity for most printed and on-screen uses.
Can I put a QR code on a business card or flyer?
Absolutely. Download a PNG at 400px or higher, then drop it into your layout. Keep at least a small white margin around it, avoid stretching it out of square, and test the printed proof with your phone before you order a large run. For a card, linking to your website or a vCard contact file works well.
Can I put a logo in the middle of a QR code?
Yes, if you leave enough redundancy. Generate the code at High (H) error correction, which tolerates up to 30% of the pattern being unreadable, then keep the logo to roughly a quarter of the code's area or less and never cover the three large corner squares, which scanners use to locate the code. Always test-scan the finished artwork with more than one phone before printing in volume.
What is the difference between a static and a dynamic QR code?
A static code, which is what this tool makes, bakes the content directly into the pattern: it is free, works offline and never expires, but the destination cannot be changed after printing. A dynamic code encodes a short redirect URL managed by a service, so the owner can retarget it and count scans, at the cost of a subscription and a dependency on that service staying online. You can get most of that benefit free by encoding a short URL on a domain you control and changing its redirect yourself.