QR Code Generator
Turn any URL or text into a high-resolution QR code you can download as a PNG — free, in your browser, no watermark.
We use cookies and similar technologies to enhance your browsing experience, analyze site traffic, and personalize content and ads. By clicking "Accept", you consent to our use of cookies. Learn more in our Privacy Policy.
Turn any URL or text into a high-resolution QR code you can download as a PNG — free, in your browser, no watermark.
This is a free QR code generator that turns any URL or text into a downloadable PNG. You paste in what you want encoded, the code renders instantly, and you save it as a high-resolution image. There is no account to create and no upload step: the encoding runs in your browser, so whatever you type never leaves your device.
The exported PNG has no watermark and no logo baked into it, which matters if you plan to drop the code onto a poster, a slide, product packaging, or a printed handout. You can pick a resolution large enough to survive being scaled up in a design tool without turning into a blur. It works for the common cases people actually reach for: a link to a site, a wifi join string, a phone number, a chunk of plain text, or anything else that fits inside a QR symbol's capacity.
You give the generator a string and it produces a QR symbol that any phone camera can read. Under the hood the text is encoded into a grid of black and white modules (the little squares), with error-correction data added so the code still scans even if part of it is dirty, creased, or partly covered.
Key things you control:
https://example.com, or any plain text.The whole pipeline runs locally in your browser. Nothing you enter is sent to a server, so you can safely encode an internal link, a draft URL, or a wifi password without it being logged anywhere. When you click download, you get a plain PNG file you own outright.
Say you are printing a flyer and want people to land on a sign-up page. Paste the full URL into the input:
https://example.com/signup?ref=flyer-2024
Notice the tracking parameter (?ref=flyer-2024). Encoding it directly into the QR code means every scan from that flyer carries the tag, so your analytics can tell flyer traffic apart from other sources. No link shortener needed.
Then set a generous resolution (for example 1024×1024 or larger) and download the PNG. Drop that file into your layout tool at the size it will print. Because PNG is lossless, the edges of the modules stay crisp. Before sending to print, scan the on-screen preview with your own phone to confirm it resolves to the exact URL, including the query string.
QR codes are most useful when you need to bridge a physical thing to a digital one:
For anything that will be printed and scaled, export at a high resolution from the start. Re-blowing up a small PNG later softens the edges and hurts scan reliability.
A few things that trip people up:
Two technical properties decide whether a given string fits and how robust the result is.
Capacity depends on the data type and the symbol version. A QR symbol has 40 versions (sizes); higher versions hold more data but pack in more, finer modules. Numeric data is the most compact, then alphanumeric (uppercase letters, digits, and a handful of symbols), then arbitrary bytes (which covers lowercase letters and most URLs). A typical URL is encoded as bytes, so it is less compact than pure digits.
Error correction lets a damaged code still decode. There are four levels, L, M, Q, and H, recovering roughly 7%, 15%, 25%, and 30% of the symbol respectively. Higher levels survive smudges and partial coverage but add redundancy data, which pushes you to a larger, denser symbol for the same content. For most print work, the middle levels are a sensible balance between resilience and module size.
No. A QR code is just an encoded image; it has no server behind it and never expires. It keeps working as long as whatever it points to (for example a URL) is still live.
No. The encoding happens entirely in your browser, so the text or URL you enter is never sent to a server or saved anywhere. You can safely encode private links or wifi passwords.
Pick a size at least as large as the final print dimensions in pixels, and ideally larger. 1024×1024 or higher gives crisp module edges. Avoid generating a tiny PNG and scaling it up afterward.
Not directly, the destination is baked into the image. If you need to redirect later, encode a URL you control (such as a redirect link) so you can change the target on your end without reprinting.
The usual causes are a missing quiet zone (white margin), too little contrast, an inverted color scheme, printing it too small for the viewing distance, or cramming so much text in that the modules became tiny. Test with a real phone and simplify the content if needed.
Yes. A QR symbol's maximum capacity is a few thousand characters for byte data, but practically you want far less. The more you encode, the denser and harder to scan the code becomes, so keep it concise.
No. The exported PNG is a clean QR code with no watermark, logo, or branding added, so you can place it anywhere.
Yes. You can encode any text, including formatted strings that phones recognize, such as a wifi join string, a phone number, or contact details. The code carries whatever text you put in.