QR Code Generator

Websites, Wi-Fi, contact cards, and more. Add your logo, track scans with UTM tags, and download print-ready PNG or SVG.

What should this code do?

Send people to a page on your site.

Prints clean up to 3.41" at 300 DPI — good for: Business card, Flyer / menu, Poster.

.png / .svg

Fill in the details on the left to generate your QR code.

Frequently asked questions

Quick answers to the questions small business owners ask us most.

Yes. Codes generated here are static, so they're yours to print on flyers, menus, business cards, signage, packaging, and ads — no watermark, no signup, no expiration. Full guide: are free QR codes actually free for business use?

Keep learning

Related guides

Free, plain-English walkthroughs that pair with this tool.

Learn: QR Code Generator

Everything worth knowing, in plain English

How a QR code stores your link

A QR code is a two-dimensional grid encoding text — usually a URL. The three big squares in the corners let a camera find and orient the code from any angle; the smaller alignment squares correct for curved or tilted surfaces. Data is stored in modules (the tiny black and white blocks), and the more characters you encode, the denser the grid gets.

That's why shorter URLs scan faster and print smaller. A 30-character link produces a sparse, forgiving code. A 200-character link with tracking parameters produces a dense one that struggles on a business card or under bad lighting.

Error correction, logos, and why codes stop scanning

QR codes include Reed–Solomon error correction at four levels: L recovers about 7% of lost data, M 15%, Q 25%, and H 30%. Higher correction means a denser code that survives more damage — a scratch, a fold, or a logo placed in the center.

If you're adding a logo, use level H and keep the logo under roughly 20% of the code area, centered. Never cover a corner finder pattern. Keep a quiet zone — clear margin — of at least four modules on all sides, maintain strong dark-on-light contrast, and never invert to a light code on a dark background: many scanners refuse it.

Static versus dynamic, and how to track scans for free

A static code encodes the destination permanently. Change your mind and the printed code is dead. A dynamic code encodes a redirect URL you control, so you can repoint it later and count hits — but that's a subscription service in most tools.

The free middle ground: encode a URL on your own domain with UTM parameters, then read scans as campaign traffic in Google Analytics. You get source, medium, and campaign for each printed placement. If you ever need to change the destination, update the redirect on your own server. Same flexibility, no monthly fee.

Printing sizes and testing before you spend money

The working rule is a 10:1 distance-to-size ratio — a code scanned from 10 feet away needs to be about 12 inches wide. Minimum practical print size is around 0.8 inches (2cm) for a code scanned at arm's length. Use vector SVG for anything going to a printer; PNG is fine for screens and social posts.

Before a print run, test with at least three phones — an older Android, a recent iPhone, and one third-party scanner app — under the lighting where the code will actually live. Our generator verifies each code by decoding it back from its own pixels, but nothing replaces a real-world scan on a real surface.