Make a QR code in seconds
A QR code lets someone scan your link or text with a phone camera instead of typing it. This generator builds the code directly in your browser, so the text you enter is never uploaded to our server.
How the QR code is actually generated
This tool runs a well-established, open-source QR code library directly in your browser using JavaScript, drawing the finished code onto an HTML canvas element entirely on your own device. Your text or link is encoded into the QR pattern locally - it's never sent anywhere, never logged, and never touches our servers at any point in the process. The generator includes a small margin of blank space around the code automatically, since QR scanners rely on that quiet border to correctly detect where the pattern begins and ends.
How to make a QR code
- Copy the link or text you want people to reach, for example your website, menu or Google review page.
- Paste it into the box above.
- Pick a size: small for screens, large for print.
- Click Generate and download the PNG.
- Scan it with your own phone camera to test it, then add it to your poster, card or packaging.
Tips for a QR code that scans well
Keep the code large enough to print clearly, leave a plain margin around it, and test it with a phone before you print a batch.
What you can put in a QR code
Most people use a QR code for a website link, but it can hold any short text: a Wi-Fi network name, a phone number, an email address, a short message or a product code. When someone scans it, their phone shows the text or opens the link straight away. Shorter content makes a simpler pattern that is easier to scan from further away.
Why shorter content scans more reliably
A QR code's visual complexity scales directly with how much data it encodes - a short link produces a simpler, more open pattern with larger individual squares, while a long URL full of tracking parameters produces a much denser, finer-grained pattern. Denser patterns are genuinely harder for a phone camera to read correctly, especially from a distance, in poor lighting, or when printed small, which is exactly why shortening a long link before encoding it - using a URL shortener, or simply linking to a cleaner page - produces a QR code that scans faster and more reliably in real-world conditions.
Choosing the right size
- Small (256 px) - for websites, emails and messages viewed on a screen.
- Medium (512 px) - a good default for social posts, presentations and documents.
- Large (1024 px) - for printing on flyers, posters, menus and packaging, where the code must stay sharp.
Who actually needs this, and why
Restaurant owners creating a QR code that links to a digital menu, printed on table cards or window stickers. Small business owners adding a QR code to a business card, flyer, or product label that links to their website or a review page. Event organizers sharing a Wi-Fi network's credentials or an event registration link as a scannable code rather than text people have to type out manually. Anyone wanting a quick, private way to turn a link into a scannable code without an account or any data being sent anywhere.
Before you print
Print the code at least 2-3 cm wide, keep strong contrast (dark code on a light background) and do not place it over a busy photo. Always scan the final printed version with two different phones. If your link is long, shorten it first so the pattern stays simple.
What happens if the destination link changes later
A QR code simply encodes whatever text or link you entered at the time of generation - it doesn't create any ongoing connection to that destination, and there's no way to update what a QR code points to after it's been printed. If you anticipate needing to change the destination later, pointing the code at a URL you control and can redirect, rather than directly at content you might need to move, keeps already-printed codes working correctly even if the underlying page changes.
Error correction: why a damaged code can still scan
QR codes are built with redundant data woven into their pattern specifically so they remain scannable even when partially damaged, dirty, or slightly obscured - a torn corner of a printed flyer or a smudge across part of the code often doesn't stop it from working at all. This built-in resilience is one of the format's genuinely clever design features, and it's part of why QR codes have remained reliable for real-world printed use even in less-than-ideal physical conditions, unlike a barcode that typically needs to be fully intact and perfectly aligned to scan.
Testing before a large print run
Before committing to printing a QR code across hundreds of flyers, product labels, or packaging units, testing the generated code with several different phone models and camera apps is worth the extra few minutes - different phones and scanning apps have slightly different sensitivity to size, contrast, and print quality, and catching a scanning issue on a single test print is far cheaper than discovering it after a full batch has already been printed and distributed.
Privacy and ongoing use
Since this generator runs entirely in your browser with no account required, there's nothing to log in to, nothing stored on any server, and nothing preventing you from generating as many codes as you need, whenever you need them, without any usage limit or watermark on the downloaded image, so it's just as practical for a quick, one-off personal use as it is for generating a whole ongoing batch of different codes for a growing business over time, each one taking only a few seconds from entering the text all the way through to downloading a finished, genuinely ready-to-use PNG image file every single time you need one.