QR Code Generator

Type a URL or any text and the QR code updates live. Custom colors, error correction level, an optional center logo, and export as PNG or SVG.

Keeps the QR code scannable even if part of it is damaged or covered. Higher % is safer but denser.
px
Center logo (optional)
Use error correction H for best scannability. Drag an image here or upload

Adding a logo? Switch error correction to H first, it gives the code enough redundancy to stay scannable with the center covered.

How it works

Your text is encoded into a QR symbol by an open-source generator bundled with the page. It automatically picks the smallest QR version that fits your content, from 21×21 modules up to 177×177, then appends Reed-Solomon error correction codewords, the same math CDs and satellites use to survive scratches and noise. Those percentage levels are literally how much of the symbol can be destroyed and still decode. That's also the whole trick behind the center logo: the tool paints your logo straight over the middle modules, deliberately destroying them, and sizes the box (22% of the width plus padding) so the damage stays inside level H's 30% recovery budget. The result is a grid of true/false modules drawn as squares on a canvas for PNG, or written out as one <rect> per dark module for the SVG, which is why the SVG stays razor sharp at any print size.

Two scannability rules worth knowing before you restyle it: scanners expect dark modules on a light background, so keep the foreground clearly darker than the background and don't invert the colors. And when you place the exported code into a design, leave a quiet zone of empty space around it, roughly four modules wide, so the scanner can find the symbol's edges against whatever surrounds it.

Encoding runs locally on every keystroke. Open DevTools, watch the Network tab while you type a URL: nothing is sent, which is also why these codes can't expire and nobody can count your scans.

Common questions

Which error correction level should I pick?

M (15%) is a good default for URLs. The levels add redundancy so the code still scans when partly damaged or covered: L is 7%, M is 15%, Q is 25%, and H is 30%. Higher levels make the code denser, so only go up when you need it, like when adding a center logo.

Does the SVG export include my logo?

No, the SVG export is the plain code only. If you've added a center logo, download the PNG instead, which exports exactly what you see in the preview, logo included.

Do the QR codes expire or get tracked?

No. Your content is encoded directly into the image with no shortener or redirect service in between, so the code works forever and nobody can track scans. The code is also generated entirely in your browser; the text never leaves your device.

How much text fits in one QR code?

A single QR code tops out at just under 3 KB of data, and the ceiling drops as error correction increases. If you paste too much, the tool tells you instead of producing a broken code. For long content, link to a page rather than embedding the text itself.