QR code generator

Make a QR code as SVG or PNG, with your colours and a logo in the middle. It is made in your browser, so nothing is uploaded.

  • Runs in your browser
  • Nothing is uploaded
  • Free, no sign-up

By using this, you agree to our Terms and Privacy Policy.

Choosing the damage tolerance

A QR code holds extra copies of its data, so it still scans when part of it is covered or damaged. Higher tolerance means more extra data, so the code gets denser. In QR terms these are the error-correction levels L, M, Q and H.

  • Low (L): on a screen, with nothing on top of it.
  • Medium (M): a good default for a web page or a slide.
  • High (Q): print, or a small logo.
  • Highest (H): anything printed small, anything people touch, and anything with a logo in the middle.

Logos in the middle

A logo works because the code can rebuild the part the logo covers. But that same room is what lets the code survive a scuff, a fold or a bad print. Use it all on the logo, and the code may scan on your screen but fail on a printed flyer.

The logo size slider stops at what each level can safely allow. Print one and test it with your phone before printing many.

Why capital letters make a smaller code

QR codes store capital letters and numbers more compactly than lowercase. So HTTPS://EXAMPLE.COM makes a smaller code than https://example.com. Capitals do not matter in the start of a web address, so this tool changes them for you. It leaves the rest of the link alone, because there capitals can matter.

Keep the white border

The blank margin around a code, four squares wide, is needed for it to scan. A code pressed against a coloured background or the edge of a photo often will not scan. Downloads here include the margin.

Nothing is uploaded

The code is made on this page, in your browser. So a code with something private in it, like a WiFi password or a one-time link, is never sent to a server.