Toolkit
Developer tools

QR Code Generator

Create a customisable QR code and download it as PNG or SVG.

Content
Content
Appearance
QR code

Enter some content to generate a code.

Raise the error correction to Q or H if the code will be printed small, curved, or overlaid with a logo. The data is embedded directly in the image — there is no redirect, so the code never expires.

About this tool

Generate a QR code for a link, plain text, a WiFi network or a vCard. Size, colours and error-correction level are all adjustable, and the SVG export stays sharp at any print size.

How to use it

  1. Pick a content type and fill in the fields.
  2. Adjust size, colours and error correction.
  3. Download as PNG for screens, or SVG for print.

Choosing an error correction level

QR codes use Reed–Solomon error correction, the same family used on CDs. Some of the code's capacity is spent on redundancy so a damaged code still scans.

Level Recovers Use for
L 7% Clean digital display, maximum data
M 15% General purpose — the default
Q 25% Printed small, or on a curved surface
H 30% Logo overlay, harsh environments

Higher correction means more modules for the same data, so the code is denser and needs to be printed larger to stay scannable. It is a trade, not a free upgrade.

The logo case is the one people get wrong. Placing a logo over the centre destroys part of the code, and only works because the error correction can reconstruct it. Use H, keep the logo under about 25% of the area, and always test with a real phone before printing a thousand of them.

Why these codes never expire

There are two kinds of QR code and the difference matters commercially.

Static codes — what this tool makes — encode the data directly in the image. The URL is literally in the pattern. Nothing is stored anywhere, nothing can be tracked, and the code works forever regardless of what happens to this site.

Dynamic codes encode a short redirect URL pointing at a tracking service. That lets the owner change the destination later and collect scan analytics. It also means the code stops working the moment that service goes away or the subscription lapses — which is how a lot of printed material has quietly died.

If you need to change the destination later, do it without a third party: point the code at a URL you control and manage the redirect yourself. You keep the flexibility, the analytics and the guarantee that it keeps working.

Quiet zone. The blank margin around the code is part of the specification — four modules wide. Scanners use it to find the edges, and cropping it is the most common reason a printed code fails.

Frequently asked questions

Which error correction level should I pick?
Level M is a good default. Go to Q or H if the code will be printed small, placed on a curved surface, or overlaid with a logo — higher correction survives more damage at the cost of density.
Do these codes expire?
No. The data is encoded directly in the image, so there is no redirect and no tracking service in the middle. The code works forever, but the destination cannot be changed later.
Does the QR code depend on this site staying online?
No. The data is encoded directly into the image rather than pointing at a redirect service, so your codes keep working even if this site disappears. Generation is local too.