Utility
Generate a QR code
Type a link and get a QR code you can download as a PNG. No account, no watermark, and — the part that matters — no redirect through our domain, so the code keeps working even if this site disappears.
- 100% free
- No signup
- Never uploaded
0 / 2,000 characters
Options
The image is square. Bigger is only useful if you are printing it large.
The blank border. Scanners need it — dropping to 0 is how codes stop working on posters.
- Secure & privateYour files are never shared
- Lightning fastMost images in under a second
- High qualitymozjpeg and libvips under the hood
- Works everywhereAny device, any browser
Output quality
The code is drawn as crisp black-and-white squares at the exact pixel size you choose, so it stays sharp when printed rather than being upscaled from a small preview. The data is encoded to the QR Code standard, which every phone camera has read natively for years — there is no app requirement and no proprietary variant involved. Two things genuinely affect whether it scans in the real world, and both are yours to control: the quiet zone, which is the blank border scanners use to find the code, and contrast between the two colours. Dropping the quiet zone to zero or picking a pale colour on white are the two ways a code that looks fine on screen fails on a printed poster.
See what this tool actually did to real files — median size change, speed and sample size, published whichever way the numbers fall.
Privacy: nothing you type leaves your browser
Nothing you type is sent anywhere
This tool is JavaScript running in your tab. There is no upload, no file and no job record — what you type stays in your own browser memory and goes away when you close the tab.
You can check this yourself
Load this page, turn off your internet connection, and use the tool. It still works. That is not a promise about our conduct — it is something you can verify in ten seconds.
Nothing is stored, logged or counted
We keep no copy of your input and no record that you used this tool with it. There is no account to attach it to, and no analytics event carrying its contents.
No third parties involved
The code that builds your result is served from this domain rather than a public CDN, so no outside company sees that you used this page, or when.
Input, output and limits
Every figure below is read from the same configuration the server enforces, so this page cannot promise a limit the system will refuse.
- Input
- A link, or any text
- Output
- A PNG image
- Maximum length
- 2,000 characters
- Where it runs
- Entirely in your browser — nothing is uploaded
Common use cases
A menu or price list on a table
Point it at a page you can update without reprinting anything.
Business cards and flyers
A code that goes straight to your site, with no third party in the middle counting scans.
Wi-Fi details for guests
Encode the network string and nobody has to type a long password.
Linking a physical product to instructions
Packaging, equipment labels, event signage — anywhere paper needs to reach a web page.
Settings you can change
Size (pixels)
From 128 to 2048, default 512.
The image is square. Bigger is only useful if you are printing it large.
Error correction
Low — smallest code · Medium — the standard default · High · Highest — survives a logo on top
Quiet zone
From 0 to 8, default 2.
The blank border. Scanners need it — dropping to 0 is how codes stop working on posters.
Code colour
Default: #000000.
Background
Default: #ffffff.
Troubleshooting
- The code will not scan from a printed page
- Almost always the quiet zone or the size. Keep the blank border at 2 or more, and print at least 2 cm across for a short link. Long links make denser codes that need more space.
- It scans on screen but not on a dark background
- Scanners expect a dark code on a light field. Inverting the colours breaks many readers — keep the background lighter than the code.
- A logo in the middle stopped it working
- Raise error correction to H and cover no more than about a quarter of the code.
Something else went wrong? Tell us what happened — a person reads every report, and that is how this list gets longer.
Frequently asked questions
Browse all toolsDoes the code point at my link, or at your site first?
Straight at your link. Many free QR generators quietly encode a short URL on their own domain so they can count scans and, later, charge you to keep the code alive. That means your printed poster stops working the day they change their pricing. The code here contains exactly the text you typed and nothing else.
Will it expire?
No. There is nothing to expire — we do not store the code, and it is not registered anywhere. It is a picture of the data you typed. Print it and it works for as long as your link does.
Is what I type sent to you?
No. The code is built by JavaScript in your own browser tab. Nothing is uploaded, so there is no record of your link on our side — you can disconnect from the internet after the page loads and it still works.
What is the error correction setting for?
It decides how much of the code can be damaged or covered while still scanning. Higher levels add redundancy, which makes the pattern denser — good if you plan to put a logo in the middle, unhelpful if you are printing small. Medium is the sensible default.
Can I use it commercially?
Yes. QR Code is an open standard and the codes generated here carry no licence, watermark or attribution requirement. Put them on packaging, menus, business cards, anything.
Does what I type get sent to your server?
No. This tool is JavaScript that runs inside your browser tab, so what you type stays in your own device's memory and is never transmitted. There is no upload, no stored copy and no record that you used it — close the tab and it is gone. You can confirm this yourself: load the page, disconnect from the internet, and it still works. It accepts up to 2,000 characters, a limit that comes from what one browser tab can comfortably handle rather than from anything on our side.