QR Code Generator

Turn any URL or text into a customizable QR code and download it as PNG or SVG.

Content

26 characters

Appearance

Center logo

PNG, JPEG, WebP or SVG, up to 2 MB. The image stays in your browser.

Preview

Enter a URL or some text to generate a QR code.

PNG exports at 512×512 px. SVG is resolution-independent — use it for print.

About this QR code generator

This tool encodes whatever you type into a standard QR code entirely inside your browser. The content never touches a server, so it is safe to use for internal links, staging URLs and anything else you would rather not paste into a third-party service.

PNG or SVG?

Use PNG for websites, slides and anywhere a fixed-size raster image is expected. Use SVG for print, large-format signage, or whenever the code may be resized later — it stays perfectly sharp at any scale.

Choosing an error-correction level

Higher error correction lets a scanner read the code even when part of it is dirty, damaged or covered — at the cost of a denser pattern for the same content. Medium is a good default. Choose High if the code will be printed small, placed outdoors, or have a logo overlaid on it later.

Adding a logo to the middle

Upload an image and it is composited into the centre of the code, with an optional backing shape so the logo reads cleanly against the pattern. The file is read in your browser and embedded directly into the PNG or SVG — it is never uploaded anywhere.

A logo works because QR codes carry Reed–Solomon error correction: the symbol holds enough redundancy to rebuild modules that are missing. That budget is finite, though, and covering more than it can rebuild produces a code that looks fine and simply does not scan.

How this checks the code still scans

Rather than estimating from the error-correction percentage, the generated image is decoded again and the result compared against what you typed. It is checked twice — once at full resolution, and once scaled down to roughly what a phone camera sees, because a logo can leave a code that a perfect bitmap still reads but a camera never will. The verdict updates as you drag the size slider.

Measured against a decoder, a typical URL tolerates a logo of roughly 14% of the code's width at level L, 23% at M, 32% at Q and 35% at H. That is why uploading a logo switches error correction to High automatically. Those are ceilings rather than targets: staying near 20% at level H leaves room for print quality, camera angle and wear.

A passing check means the code is decodable, not that every scanner in the world will manage it in poor light on a crumpled receipt. Print it at its real size and test it before committing to a run.

Tips for codes that scan reliably

  • Keep strong contrast between foreground and background — dark on light scans best.
  • Leave the quiet zone at 4 or above; scanners need that empty border to lock on.
  • Avoid inverting the colors (light code on a dark background); many scanners fail.
  • Shorter URLs produce simpler, more forgiving codes. Shorten long links first.
  • Test the printed code at its real size before producing thousands of them.
  • Keep a logo small and centred; the three corner squares must never be covered.

Is it really free?

Yes, and the codes are static — they encode your content directly rather than routing through a redirect that could expire. There is no account, no watermark and no scan limit.