Free QR Code Generator
Create custom QR codes instantly. No signup required. Perfect for URLs, WiFi, business cards, and more.
Customization
Higher = more resistant to damage
Preview
High-resolution PNG or SVG • Free forever
Want to track QR code scans?
Create a trackable short link with Sinkto.Link and see detailed analytics on every scan. Free accounts also get QR codes with your logo, password-protected links, and UTM tracking; custom social previews come with Pro.
Get Started Free →Instant Generation
Create QR codes in seconds. No signup, no waiting, no hassle.
High Quality
Download high-resolution PNG files up to 1000x1000 pixels.
100% Free
Generate unlimited QR codes. No watermarks, no hidden fees.
Popular Use Cases
Website Links
Share your website or landing page
Business Cards
Add contact info to physical cards
WiFi Access
Easy guest network connection
Event Tickets
Check-in and access control
App Downloads
Direct links to app stores
Restaurant Menus
Contactless menu viewing
Payment Links
Quick payment collection
Location Sharing
Google Maps directions
Frequently Asked Questions
Is this QR code generator really free?
Yes! Generate unlimited QR codes with no signup, no watermarks, and no hidden fees. Download high-resolution files for free.
Do QR codes expire?
Static QR codes (like the ones generated here) never expire. Once created, they work forever. However, if the URL or content changes, you'll need a new QR code.
Can I track QR code scans?
Static QR codes don't track scans. For analytics, create a trackable short link with Sinkto.Link, then generate a QR code from that link to see detailed scan data.
What's the best size for printing?
For business cards, use 300x300px minimum. For posters or banners, use 800x800px or higher. The larger the print size, the higher resolution you need.
How a QR code actually works
A QR code is not a link in any special sense — it is a picture of text. The black and white modules encode characters, and when that text happens to start with https://, a phone camera offers to open it. Nothing is stored in the code beyond those characters, which is why a QR code works offline, has no owner and cannot be revoked.
That also explains the one real constraint: the more text you encode, the denser the pattern, and the harder it is to scan at small sizes or in poor light. A short URL produces a visibly simpler code than a long one carrying campaign parameters — which is the practical reason to shorten before you generate.
Static vs dynamic: the decision that matters
The code this tool produces is static: the destination is part of the pattern. That is perfectly fine for a WiFi password, an email address, or a URL you are confident will never move. It is a problem the moment the destination changes, because the only fix is to reprint everything you have already handed out.
A dynamic code solves this by encoding a short link instead of the final URL. The printed pattern never changes; you edit where the short link points. You can make one here by generating a free short link first and encoding that. The trade-off is honest: a dynamic code depends on the shortener staying up, so it is worth reading about combining short links with QR tracking before you commit a print run to one.
Printing a code that scans on the first try
Four things account for almost every QR code that fails in the wild. Size: scanning distance is roughly ten times the code's width, so a code read from two metres wants to be about 20 cm across. Quiet zone: leave a clear margin of at least four modules on every side — a code butted against other artwork often will not resolve.
Contrast: dark pattern on a light background, never the inverse, and never over a photograph. Error correction: use level Q or H for anything printed or carrying a logo, because those recover from 25–30% damage. There is more on placement and call-to-action wording in our guide to using QR codes for offline marketing.
Counting scans
A scan is an ordinary page visit, so the QR code cannot report anything by itself. To measure one, the code has to encode a URL you can observe. Two approaches stack well: tag the destination with UTM parameters so scans appear as a campaign in GA4, and encode a short link so you get a scan count that does not depend on an analytics tag loading.
With a free account, each short link records country, city, device, browser and referrer per scan, with no volume cap — see the full guide to free shorteners with QR codes or the rest of the free link tools.
Frequently Asked Questions
Is this QR code generator really free?
Yes, and there is no signup. The code is generated in your browser, it never expires, and there is no scan limit or watermark. You only need an account if you want the destination to be editable later or want to see scan analytics.
What is the difference between a static and a dynamic QR code?
A static QR code has the destination baked into the pattern — change the destination and you have to reprint. A dynamic QR code encodes a short link instead, so you can repoint it any time without touching the printed code. This tool makes static codes; point it at a Sinkto.Link short link to get a dynamic one.
How small can I print a QR code?
About 2 x 2 cm (0.8 inch) is the practical floor for a code scanned from arm's length. The working rule is that scanning distance should be roughly ten times the code's width, so a poster read from 2 metres away wants a code around 20 cm across.
Do QR codes expire?
The code itself never expires — it is just a printed URL. What expires is the destination. If the page it points at goes away, the code is dead. That is the argument for encoding a short link you control rather than a raw URL.
Can I track how many people scan my QR code?
Not from the QR code itself — a scan is an ordinary visit to a URL. To count scans, encode a link you can measure: a short link gives you a per-code scan count with country, device and referrer, and UTM parameters push the same data into GA4.
What does error correction level mean?
Error correction adds redundancy so a code still scans when part of it is dirty, torn or covered by a logo. Level L recovers about 7% damage, M about 15%, Q about 25% and H about 30%. Higher levels make the pattern denser, so use L or M for screens and Q or H for anything printed or overlaid with a logo.