QR code generator with styles

Create a custom QR code for any URL, text, email or Wi-Fi. Choose dot shapes, colors, gradients and add a logo — generated in your browser and downloadable as a high-res PNG.

#111827
#ffffff

How to make a custom QR code

Type any URL or text, then style it: pick a dot shape (square, rounded or dots), set the colors or turn on a gradient, and optionally upload a logo for the center. When you add a logo the tool automatically raises error correction to High so the code still scans reliably. Download at up to 1024 px for crisp printing.

What can a QR code contain?

Anything that fits in text: a website URL, plain text, an email (mailto:[email protected]), a phone number (tel:+96890000000), an SMS, or Wi-Fi credentials (WIFI:S:MyNetwork;T:WPA;P:password;;). The QR code is generated entirely in your browser, so nothing you encode is ever sent to a server.

Error correction and why it matters

Every QR code carries redundant data so it still scans when partly obscured. Higher correction means more redundancy, which means a denser code for the same content.
LevelRecoverable damageUse when
L (Low)about 7%Clean digital display, maximum data capacity
M (Medium)about 15%General purpose — the usual default
Q (Quartile)about 25%Printed materials that may scuff
H (High)about 30%A logo is placed over the centre, or use is industrial
If you overlay a logo, use H. The logo covers part of the code, and only high correction guarantees the missing area can be reconstructed. Keep the logo under about 30 percent of the width regardless.

Size, contrast and the quiet zone

Most codes that fail to scan fail for physical reasons rather than data ones.
RequirementGuideline
Minimum printed size2 × 2 cm for a short URL; larger for more data
Scan distance ruleWidth should be about one tenth of the intended scan distance
Quiet zoneClear margin of at least four modules on all sides
ContrastDark code on a light background — never the reverse
Billboard at 10 mAt least 1 metre wide
Two mistakes account for most failures in the field: inverting the colours, since many scanners cannot read a light code on a dark background, and cropping away the quiet zone so the scanner cannot locate the code boundary.

Static and dynamic codes

This generator produces static codes: the destination is encoded directly into the pattern. They never expire, depend on no third-party service, and cannot be tracked — but the destination can never be changed once printed.

Dynamic codes encode a redirect through a tracking service, so the destination can be edited later and scans can be counted. The trade-off is real: the code stops working entirely if that service shuts down or the subscription lapses. For anything printed at scale and expected to last, a static code pointing at a URL you control is the safer choice — you keep the ability to change the destination through your own redirect.

Frequently asked questions

Is this QR code free for commercial use?

Yes. The QR codes you generate are free to use anywhere — on packaging, posters, business cards or menus — with no watermark and no expiry.

Will adding a logo stop it from scanning?

No, as long as the logo stays centered and reasonably small. The tool raises error correction to High automatically when a logo is added so scanners can recover the covered area.

Does the QR code ever expire?

No. This creates a static QR code that encodes your data directly, so it works forever and does not depend on our servers.

What size should I use for printing?

Choose 1024 px for print. As a rule of thumb, keep the printed code at least 2 x 2 cm and test a scan before mass printing.

Do these QR codes expire?

No. They are static codes with the data encoded directly in the pattern, so they work forever and depend on no third-party service.

Can I add a logo to the centre?

Yes. Use high error correction when you do, and keep the logo under about 30 percent of the code width so enough of the pattern remains readable.

What size should I print a QR code?

At least 2 by 2 cm for a short URL. As a rule, the width should be about one tenth of the distance it will be scanned from.

Why will my QR code not scan?

The usual causes are inverted colours (light code on a dark background), too little contrast, a missing quiet-zone margin, or printing too small for the amount of data encoded.

Can I track how many people scan it?

Not with a static code. Tracking requires a dynamic code that redirects through a service — or point the static code at a URL you control and measure the traffic there.

Is the QR code generated privately?

Yes. It is rendered entirely in your browser, so the content you encode is never sent to a server.

Related free tools

Color converterImage compressorPassword generatorURL slug generator