Developer Tools

QR Code Generator — Free, No Account, Download as PNG

🔒 Runs in your browser

Generate a QR code from any URL or text and download it as PNG. Choose error-correction level (L, M, Q, H) and preview instantly. Runs entirely in your browser — your text never reaches a server, no account required, no expiry.

How to use this tool

  1. Enter the URL, text, or data to encode.
  2. Preview the generated QR code.
  3. Download the QR code as a PNG.

About QR Code Generator

A QR code is a two-dimensional barcode that stores text, most often a URL, as a grid of black and white squares called modules. This tool encodes whatever text or link you enter into such a grid and renders it onto a canvas in your browser, then lets you download the result as a PNG image. The codes it produces are static, meaning the content is baked directly into the pattern: there is no short link, no redirect server, and no account, so the code works forever and points at exactly what you encoded with nothing in between.

Encoding follows the QR standard. Your input is converted into a bit stream, padded, and laid out into a square grid whose size, known as the version, grows automatically with how much data you put in. A short URL fits in a small, low-version code with large modules that scan easily; a long string forces a larger version with finer modules. The fixed patterns in three corners are the finder patterns that let a scanner locate and orient the code regardless of the angle it is viewed from, and a quiet zone of empty margin around the code is required for reliable scanning. The library used here adds that margin automatically.

The error-correction level is the setting most worth understanding. QR codes embed redundant data using Reed-Solomon error correction so they can still be read when part of the code is dirty, damaged, or covered. You can choose from four levels: L recovers about 7 percent of the code, M about 15 percent, Q about 25 percent, and H about 30 percent. Higher levels survive more damage but pack the same content into a denser grid, which can make the code physically larger or harder to scan at small sizes. M is the common default and a sensible balance; choose H when you plan to print on a surface that may get scuffed or when you want to overlay a logo in the center.

Capacity depends jointly on the content type and the error-correction level: a numeric-only payload holds far more digits than the same code holds alphanumeric or arbitrary characters, and raising the error-correction level lowers the maximum capacity because redundancy takes space. In practice, for the URLs and short text most people encode, capacity is never a concern. Common uses include linking to a website, menu, or Wi-Fi sign-in from a printed poster, putting a contact or payment link on a business card, and adding a scannable link to packaging or an event badge. Everything is generated locally in your browser, so the content you encode is never sent to a server.

Frequently Asked Questions

Is the QR code generated on a server?
No. The code is encoded and drawn entirely in your browser onto a canvas element, then exported as a PNG. The text or URL you enter never leaves your device, so you can encode private links, internal addresses, or sensitive data without it being uploaded anywhere.
What does the error-correction level do?
It sets how much of the code can be damaged or obscured while still scanning. Level L tolerates about 7 percent damage, M about 15 percent, Q about 25 percent, and H about 30 percent. The redundancy that provides this resilience takes up space, so higher levels make the grid denser for the same content. M is a good default for most uses.
Which error-correction level should I pick?
Use M for general on-screen and clean printed use. Step up to Q or H when the code will be printed on something that might get scratched, smudged, or partially covered, or when you intend to place a small logo in the middle, since the higher redundancy lets the scanner reconstruct the data behind it. Lower to L only if you need the smallest, sparsest possible code and scanning conditions are ideal.
Do these QR codes expire or need an account?
Never. These are static codes, meaning your content is encoded directly into the pattern with no redirect or tracking link in between. There is no account, no subscription, and nothing that can lapse, so a code you generate and print will keep working indefinitely as long as whatever it points to still exists.
How much text can a QR code hold?
It depends on the type of data and the error-correction level. A code can hold thousands of digits if the content is purely numeric, fewer alphanumeric characters, and fewer still for arbitrary text, and raising the error-correction level reduces the maximum further. For typical URLs and short messages you will never approach the limit; very long inputs simply produce a denser, larger grid.
Why does my code look more crowded when I add more text or raise error correction?
Both increase the amount of data the grid must hold, so the code uses a higher version with more, smaller modules. Longer content and higher error-correction levels each push the density up. If a dense code is hard to scan, shorten the content (a shorter URL helps) or lower the error-correction level.
Can I download the QR code and what format is it?
Yes. After generating, you can download the code as a PNG image, which is lossless and suitable for both screen and print. Keep a clear margin (the quiet zone) around it when placing it in a layout, and avoid scaling it so small that the individual squares blur, since both hurt scan reliability.
Can I put a URL, Wi-Fi credentials, or contact details in it?
You can encode any text. Scanners recognize certain text patterns automatically: a full URL opens a browser, and specially formatted strings for Wi-Fi or contact cards are acted on by phone cameras that support them. This tool encodes the exact text you provide, so format the string according to the convention you need (for example, a complete https URL) and it will be embedded as-is.
Embed this tool on your site

Free. One line of HTML — the tool runs in your visitor's browser, no data sent to anyone.

<iframe src="https://brevio.pro/embed/qr-code-generator" width="100%" height="600" loading="lazy" style="border:1px solid #e5e5e5;border-radius:8px" title="QR Code Generator — brevio"></iframe>
<p style="font:12px/1.4 sans-serif"><a href="https://brevio.pro/tools/qr-code-generator">QR Code Generator</a> by <a href="https://brevio.pro">brevio</a></p>
More free toolsSee all 492 →
QR Code Generator — Free, No Account, Download as PNG | brevio