The preview updates as you type. Shorter text makes a simpler, easier-to-scan code.
Keep strong contrast β a dark code on a light background scans most reliably. Light-on-dark codes fail on many older phone cameras.
as soon as you type something.
Always test the downloaded code with your own phone camera before printing or publishing it.
What is a QR code?
A QR code β short for Quick Response code β is a two-dimensional barcode: a square grid of dark and light modules that a phone camera can read in a fraction of a second. It was invented in 1994 by Denso Wave, a Toyota subsidiary that needed to track car parts faster than a normal barcode allowed. A standard barcode stores a few dozen characters in one direction; a QR code stores data in two directions, so it can hold thousands of characters β a full URL, a block of text, contact details, a Wi-Fi password, a payment address.
That capacity is also why QR codes won. Point a modern phone camera at one and the link opens β no app to install, no short URL to type, no spelling mistakes. Restaurants put them on tables, shops put them on receipts and windows, product packaging carries them to manuals and warranty pages, and printed flyers use them to bridge the gap between paper and the web. When you generate a code here, the pattern you download is your data, encoded directly into the squares. There is nothing in between.
Static vs dynamic QR codes β the honest difference
QR codes come in two kinds, and most generator websites blur the distinction because it is how they sell subscriptions. Here it is plainly:
- Static QR codes (what this tool makes) encode your text or URL directly into the pattern. The code works forever, exactly as printed, with no server involved and nothing that can be switched off. The trade-off: the content is fixed. If the destination URL changes, you need to print a new code.
- Dynamic QR codes encode a short redirect link owned by a service (something like qr.provider.com/x7k2). That redirect lets the service change the destination later and count scans β genuinely useful for printed campaigns. But the code only works while the service keeps redirecting it, which is why dynamic codes sit behind monthly plans, and why "free" dynamic codes sometimes stop working when a trial ends.
Neither kind is "better" in the abstract. If you are printing something permanent β packaging, signage, a book, a tattoo-studio wall β a static code that can never be held hostage is the safer choice. If you are running a short marketing campaign and need scan analytics plus the ability to swap the destination mid-print-run, a dynamic service earns its fee. This generator is deliberately static-only: free forever, no account, no expiry, no tracking. What you download is the whole product.
How to create a QR code
1. Paste your link or text into the box above. For a link, include the full address starting with https:// β phones open it directly in the browser.
2. Pick an error-correction level. Medium (M) suits most uses. Choose High (H) if the code will be printed somewhere it can get scuffed, or if you plan to place a small logo over the center β error correction is what lets a code survive up to 30% damage at level H.
3. Style it carefully. Match your brand colors if you like, but keep the code clearly darker than the background. Contrast is what the camera reads; decoration that fights contrast produces a code that looks great and scans never.
4. Download the PNG at the size you need β 512px is plenty for screens and small print, 1024px for posters and anything printed larger than a business card.
5. Test it. Scan the downloaded image with your own phone (ideally a second, older phone too) before it goes anywhere near a printer.
Best practices for codes that actually scan
- Respect the minimum size. For print, 2 Γ 2 cm (about 0.8 inches) is the practical floor for a simple code scanned up close. The further away the scanner stands, the bigger the code must be β a useful rule is a 1:10 ratio between code size and scanning distance, so a code meant to be scanned from 2 meters away should be roughly 20 cm across.
- Keep the quiet zone. The plain border around the code (already drawn into your download) is part of the standard. Cropping it off or butting text and graphics against the edges is a classic reason printed codes fail.
- Shorter data, simpler code. A long URL packs the grid with tiny modules that blur in print and strain cheap cameras. Run long links through a short, clean URL of your own (a short page on your own domain, for example) rather than a third-party shortener whose links can rot.
- Never invert the colors. Scanners expect a dark pattern on a light background. Light-on-dark "negative" codes look striking and fail on a large share of devices.
- Print flat and matte. Glossy lamination and curved surfaces (bottles, poles) reflect light into the camera and distort the grid. If the surface curves, go bigger and use a higher error-correction level.
- Test on the real thing. Scan a proof print, at the real distance, in the real lighting β not the file on your bright monitor.
What people use QR codes for
The common pattern is any place where typing a URL is friction: restaurant tables linking to a menu, shop windows linking to opening hours or a review page, business cards linking to a contact page, product packaging linking to setup videos and manuals, event posters linking to tickets, invoices linking to a payment page, books and worksheets linking to answers and downloads, and real-estate signs linking to the full listing. In every case the code succeeds for the same reason β it removes the keyboard from the journey. Pair this tool with the image compressor when you need to shrink the photos on the page your code points to, or browse all 42 free tools for more.
Frequently asked questions
Do QR codes expire?
No β not static ones like the codes made here. A static QR code is just your text or URL stored as a pattern; there is no server, account, or subscription behind it, so there is nothing to expire. It will scan for as long as the print is readable and the destination link stays live. Only dynamic codes β the kind that point through a provider's redirect link β can stop working when a plan lapses.
Is this QR code generator really free? Can I use the codes commercially?
Yes and yes. There is no sign-up, no watermark, and no usage limit, and you can use the codes you generate for business or personal projects, including on printed products you sell. The QR code standard itself is free to use β its inventor, Denso Wave, holds the patent but has never charged for using it.
Can I change where my QR code points after printing it?
Not with a static code β the destination is baked into the pattern, which is exactly why it can never be switched off. If you expect the destination to change, point the code at a page you control (your own website or link page) and change where that page leads. Or use a paid dynamic-code service if you need to edit the destination itself β just know the code then depends on that service staying active.
What does error correction do, and which level should I pick?
Error correction adds backup data so the code still scans when part of it is dirty, scratched, or covered. Level L restores up to about 7% damage, M about 15%, Q about 25%, and H about 30%. The cost of higher levels is a denser, busier pattern. Use M for clean screen and print use, Q or H for outdoor prints, rough handling, or if you will cover the center with a small logo.
What size should I print a QR code?
At least 2 Γ 2 cm for codes scanned up close, and roughly one-tenth of the scanning distance beyond that β a poster scanned from 3 meters needs a code around 30 cm wide. Denser codes (long URLs, high error correction) need to be bigger for the same distance. When in doubt, print a proof at the final size and scan it under real conditions.
Does this tool track scans or store my data?
No. The code is generated in your browser with a small JavaScript library β your text never leaves your device, there is no scan tracking (static codes cannot report scans to anyone), and nothing is stored. The flip side of that privacy is that this tool also cannot tell you how many people scanned your code; if scan counts matter, that is the one feature dynamic services genuinely add.
