QR code generator

Turn any link into a QR code and download it as SVG or PNG. Generated in your browser.

Paste a link, get a QR code. It is drawn as an SVG, so it stays sharp at any size — a business card or a shop window.

The encoder runs in this page. Nothing is uploaded, no request is made, and the code has no redirect in the middle of it: the URL you type is the URL that gets encoded. That matters more than it sounds. Most free QR generators route the scan through their own domain so they can meter it, which means the code stops working the day that service does.

Error correction is set to level M, which recovers around 15% of the code. That is the level that survives a printed sticker picking up a scuff without inflating the pattern to the point where it needs a bigger label.

The link is in the code

No shortener, no tracking redirect, no account. The bytes encoded are the string you typed, so the code keeps working for as long as your own URL does.

SVG first

Vector output has no resolution to outgrow, which is what you want for print. The PNG export is rendered from that same vector at 1024px for the places that will not take an SVG.

The quiet zone is not optional

The four-module margin around the pattern is part of the spec, and scanners genuinely fail without it. It is included in both exports — do not crop it off when you place the code.

Shorter links scan better

Every extra character pushes the code to a denser version with smaller modules. A long tracking URL can be the difference between a code that scans across a room and one that needs a phone held against it.

Frequently asked questions

Does the code expire?

No. There is nothing to expire — the URL is encoded directly into the pattern, with no service in the middle. It will keep resolving for exactly as long as the address you encoded does.

How small can I print it?

A practical floor is about 2cm square for a short URL scanned from arm’s length, and scanning distance scales roughly with size — a poster read from three metres wants something nearer 25cm. Test the actual print, not the screen.

Can I put a logo in the middle?

Not from this tool. Level M error correction tolerates roughly 15% damage, so a small centred logo often still scans, but "often" is doing a lot of work there. If you need that, cover it in testing across several phones.

Why did my code get denser?

Longer input needs a higher QR version, which packs more modules into the same square. The version in use is shown under the code — if it climbed, shortening the URL is the fix.

Other free tools

  • UTM link builder

    Build tagged campaign URLs that survive a copy-paste, with the parameters spelled correctly.

  • Bulk UTM builder

    Turn a CSV of destinations and campaign values into a clean batch of tagged URLs.

  • UTM naming consistency checker

    Find inconsistent casing, spacing and near-duplicate campaign values before they fragment reporting.

Want the form to collect the answers too?

Hand-written HTML still needs somewhere to post to. formformform gives you the form, the hosting, the responses and the notifications — free while we are in early access.

Start free