QR Code Generator

Turn a link, a phone number or any short piece of text into a QR code and download it as an image. The encoding happens in the page using a complete QR implementation, so the content you type is never sent to an API to be turned into a code.

What Gets Encoded, and Where

Most online QR generators work by sending your text to a server, generating the image there and sending it back. That is invisible to the user and it means anything you encode — a private meeting link, a Wi-Fi password, a ticket reference — passes through a third party. This page instead contains the whole encoding process, so the code is computed from your text locally and nothing leaves the browser.

Making a Code That Scans First Time

  1. Paste or type the content to encode. Keep it as short as you can — every extra character increases the density of the pattern and makes the code harder for a camera to resolve.
  2. Set the size. For print, 256 pixels is a reasonable starting point, but bear in mind that the physical size matters more than the pixel count: a code printed small will not scan however many pixels it contains.
  3. Choose an error correction level. For a code that will be printed on packaging or a poster where it might get scuffed, raise it. For a code on a clean screen, the lower level produces a less dense and easier-to-scan pattern.
  4. Set the colours. Keep strong contrast and, importantly, keep the foreground dark and the background light.
  5. Preview by scanning with your own phone before you print or publish anything. This takes ten seconds and catches every colour and size problem immediately.
  6. Download as PNG for screen use or SVG if the code will be scaled to different sizes, since vector output avoids any resampling artefacts.

Choosing an Error Correction Level

AlternativeNotes
L — low, about 7 percentThe least redundancy and therefore the most room for content. Produces the sparsest pattern for a given amount of text, which makes it the easiest to scan at a distance and the most fragile if the code is damaged.
M — medium, about 15 percentThe usual default in most generators including this one. A sensible balance for codes displayed on a screen or printed on a clean surface.
Q — quartile, about 25 percentWorth choosing when the code will be printed on a curved or reflective surface, or where a logo is placed in the middle. The redundancy is what allows part of the code to be obscured and still read.
H — high, about 30 percentThe maximum resilience, and the right choice for anything that will be handled, folded or exposed to weather. It also reduces capacity the most, so long content at this level produces a noticeably denser pattern.

How the Code Is Actually Built

A QR code is not a picture of the text. It is a structured encoding with error correction, placement rules and masking, and the page implements the whole specification rather than approximating it. This is why the generated codes scan reliably where a hand-drawn or loosely generated pattern does not.

Colour Choices That Quietly Break Scanning

The colour pickers make it easy to produce a code that looks good and does not work. The rules behind that are mechanical rather than aesthetic.

QR Code Questions

Is the content I encode sent anywhere?

No, and this is the main reason to use a local generator rather than a hosted one. The encoding is performed by code inside the page, so nothing is transmitted and the page works with the network disconnected. A QR code generator that calls an API to produce the image receives whatever you encode, which is worth thinking about if the content is a private link or an access credential.

When should I use SVG rather than PNG?

Use SVG when the code will be reproduced at different sizes or printed at large scale. SVG is vector output, so it stays sharp at any dimension and prints crisply on a poster. Use PNG for anything where a single fixed size is fine, particularly on-screen use and quick tests. The file size difference is not significant at these dimensions.

How much text can a QR code hold?

It depends on the mode and the error correction level. Numeric content compresses far more efficiently than arbitrary text, so a long number fits where a long sentence would not. A practical limit for a URL at medium error correction is a few hundred characters, and it is worth remembering that the more you encode, the denser the pattern becomes and the harder it is for a camera to read at a distance.

Do QR codes expire?

The code itself does not — it is a static pattern that encodes whatever you told it to. What expires is the destination. This is the difference between a static code, which encodes the address directly, and a dynamic one, which encodes a redirect the provider controls and can change or switch off. Codes generated here are static, so they will keep working exactly as long as the address inside them does.

Last verified: October 3, 2026

Launch QR Code Generator

All Tools · All Tools · About · How We Test · Contact · Privacy

Maintained by Huang Bin · Last updated October 3, 2026

Loading Vue Application