What is Free QR Generator?
Free QR Generator is an online QR code generator for website links, plain text, email, phone numbers, SMS and Wi-Fi logins. You pick the colours and the error-correction level, then download the code as PNG or as SVG for printing at any size. If the colours you choose have too little contrast to scan reliably, the tool warns you before you download.
The codes are static: the content is stored in the pattern itself, so they never expire, never redirect through anyone else's server and keep working without an account or subscription. It's one of six free tools on Free Image Scaler, and like the others it runs in your browser. Below we explain what you actually get and how to make a code that scans every time.
What this QR code generator makes
This free QR code generator (a free QR generator or QR code maker, if you prefer those names) turns a link, a piece of text, an email, a phone number, a text message or your Wi-Fi details into a QR code you can download as PNG or SVG. The code is created in your browser and contains your information directly. There is no account, no tracking, no redirect through someone else's server and no expiration date: a code you make today will scan the same way in ten years, as long as whatever it points to still exists.
That last point is why this page exists. Many "free" QR generators actually create a short link on their own server and put that in the code, so they can count scans and, often, switch the code off when a free trial ends. Codes from this tool are what the industry calls static codes. They're simpler, and for most uses they're the better choice, as we'll explain.
We tested the tool the way you'd use it: we generated codes for different kinds of content, decoded every one of them with an independent QR reader to make sure the content came back exactly, measured how big the codes get as the content grows, and covered parts of codes to see how much damage each error correction level survives. The numbers below come from those tests.
How to make a QR code
- Choose what the code should do. The tabs at the top are URL / Text, Email, Phone, SMS and Wi-Fi. Each one shows the fields it needs.
- Fill in the details. For a website, paste the full address including https://. For Wi-Fi, type the network name and password exactly as they are, capitals and symbols included.
- Pick colors if you like. The default is a dark navy on white, which scans reliably. If you choose your own, keep the code dark and the background light; the tool warns you if the colors are inverted or too close to each other.
- Choose error correction. Medium (15%) is the default and the right choice for most codes. More on the four levels below.
- Choose the PNG size. 1024 × 1024 pixels is the default and enough for most printing up to about 8 cm. Pick 2048 for larger prints, or download the SVG, which can be scaled to any size.
- Generate and download. Press Generate QR Code, check the preview, and download the PNG or SVG. Then scan the downloaded file with your phone before you print it anywhere.
That final scan matters more than any setting. It takes ten seconds and catches the mistakes that are expensive after printing: a typo in the address, a missing "s" in https, or a Wi-Fi password with the wrong capital letter.
Static and dynamic QR codes: what you're actually getting
A QR code is just data drawn as a pattern of squares. When you scan it, the phone reads the data and acts on it: opens a link, shows text, starts an email, offers to join a network. A static code holds your actual content. A dynamic code holds a short link to a service, and that service sends the phone on to your real destination.
Dynamic codes have two real advantages: you can change where the code leads after it has been printed, and the service can count scans. They also have two real costs. The code only works as long as the service keeps the short link running and you keep whatever plan it requires, and every scan passes through a third party that sees when and where it happened. A menu, a poster or a business card printed with a dynamic code from a free trial can stop working when the trial ends.
This tool makes static codes only. If you want the flexibility of a dynamic code without depending on anyone, there's a simple middle way: make a static code that points to a page on your own website, such as yoursite.com/menu, and change what that page shows or redirects to whenever you need to. You keep control of the link, and you can count visits with your own website statistics.
How content length changes the code
A QR code grows as you put more into it. The pattern is measured in modules, the small squares it's made of. We generated codes for content of different lengths and counted the modules along one side, at each error correction level:
- A 30-character link (https://freeimagescaler.com/qr): 25 modules at Low, 29 at Medium, 29 at Quartile, 33 at High.
- A typical Wi-Fi code, 44 characters: 29, 29, 33 and 37 modules.
- A 61-character shop link with one tracking parameter: 33, 33, 41 and 45 modules.
- A 123-character link with three tracking parameters: 41, 49, 53 and 61 modules.
- A 254-character link: 57, 65, 73 and 85 modules.
More modules in the same printed space means each module is smaller, and small modules are harder for a camera to resolve, especially from a distance, in poor light or on an older phone. The 123-character link at Medium has almost three times as many modules as the 30-character one (49 × 49 against 29 × 29 is 2,401 squares against 841).
So keep links short. Long tracking parameters are the usual culprit: three UTM tags can double the length of an address. If you need tracking, use one short parameter, or a short path on your own domain that redirects to the long address. Avoid public link shorteners for anything printed: you can't be sure they'll keep working, and people are increasingly wary of scanning codes that lead to unknown short links.
How a QR code is built
Knowing the parts of a QR code makes the rest of this page easier to follow, and explains some of the rules.
The three large squares in the corners are finder patterns. A scanner looks for them first to find the code and work out which way up it is, which is why you must never cover them. Larger codes add smaller squares, called alignment patterns, that help the scanner cope with a code printed on a curved or tilted surface. Between the finders run two lines of alternating dark and light modules, the timing patterns, which tell the scanner how big each module is. Next to the finders sits a strip that records the error correction level and the mask used. Everything else is your data plus the error correction data.
Codes come in 40 sizes, called versions. Version 1 is 21 × 21 modules, and each version adds 4 modules per side, up to 177 × 177 for version 40. The generator always picks the smallest version that fits your content, which is why our 30-character link became 29 × 29 (version 3) at Medium, and the 254-character link 65 × 65 (version 12).
Characters, languages and a small size trick
QR codes store some kinds of text more compactly than others, and the generator picks the most efficient way automatically. We generated 30-character contents at Medium error correction:
- 30 digits: 21 modules, the smallest QR code there is. Numbers are stored very efficiently.
- A 30-character link in capitals (HTTPS://FREEIMAGESCALER.COM/QR): 25 modules.
- The same link in lower case: 29 modules.
- A 30-character sentence: 29 modules.
Capital letters, digits and a few symbols fit a compact mode; lower case letters need the general one. That's a trick worth knowing for tiny printed codes: web addresses are not case-sensitive in the domain part, and phones open HTTPS://EXAMPLE.COM just fine. Only use it if the rest of the link isn't case-sensitive, though: many websites treat /Menu and /menu as different pages.
Text in other writing systems takes more room. Each Japanese or Korean character needs three bytes, so 18 Japanese characters made a 33-module code, larger than our 30-character English sentence. Emoji take four bytes each. None of this is a problem for normal use, but it's another reason to keep printed codes to a short link and put the long text on the page it opens.
Error correction: what the four levels mean, tested
QR codes include extra data that lets a scanner rebuild the content even when part of the code is dirty, scratched, folded or covered. The error correction setting decides how much: Low can recover about 7 percent of the data, Medium 15, Quartile 25 and High 30. More recovery means more modules for the same content, so it's a trade between toughness and density.
To see what that means in practice, we generated the same short link at each level and painted a blank square over the centre of the code, making it bigger until the code stopped scanning. Measured as a share of the code's width:
- Low still scanned with 20 percent of the width covered, and failed at 25 percent.
- Medium scanned with 30 percent covered, failed at 35.
- Quartile scanned with 32 percent covered, failed at 38.
- High scanned with 42 percent covered, failed at 45.
Because the square grows in both directions, 42 percent of the width is about 18 percent of the code's area: a big hole, and the High code still read correctly. Real damage is rarely that tidy, and scanners differ, so treat these numbers as an indication rather than a guarantee.
Which to choose:
- Medium for almost everything: screens, flyers, business cards, menus kept indoors.
- Quartile or High for codes that will get dirty or worn (on equipment, outdoors, on floors or packaging that gets handled), and for codes where you'll place a logo in the middle.
- Low only when you have to fit a long piece of content into a very small space and the code will stay clean.
Adding a logo
A logo in the middle of a QR code works because of error correction: the logo destroys part of the code, and the scanner rebuilds what's missing. This tool doesn't place logos for you, but you can add one in any design program, and the SVG download is the best starting point because it stays sharp at any size.
Based on our tests, a few rules keep a logo code reliable:
- Generate the code at High error correction.
- Keep the logo, including any white border around it, to about a quarter of the code's width (roughly 6 percent of its area). Our High code survived far more than that, but your logo eats into the same recovery budget that later scratches and glare need.
- Keep it in the centre. Never cover the three large squares in the corners: scanners use them to find and orient the code.
- Give the logo a solid background, so the code's modules don't run into it.
- Test the finished design on at least two phones before printing, including an older one.
Colors that scan, and colors that don't
Scanners look for the difference between dark and light modules. A colored code is fine as long as that difference stays large. In our tests a dark blue (#1a5fb4) on white decoded without trouble, while a mid grey (#9a9a9a) on white, a contrast of under 3 to 1, could not be decoded at all by the reader we used, even though it looked perfectly clear on screen.
Some practical rules:
- Dark code, light background. White or light code on a dark background is called an inverted code. Some phone cameras read them, but many scanner apps and older devices don't. When we generated an inverted code, our reader couldn't decode it without being told to try inverting the image. The tool shows a warning when you pick inverted colors.
- Strong contrast. Navy, black, dark green, deep red or brown on white or cream all work. Pastels, light greys, yellows and oranges on white usually don't. The tool warns when the contrast is low.
- No gradients or photos behind the code. A busy background makes some modules look dark that should be light.
- Watch the print. A color that's dark on screen can print lighter, especially on uncoated paper. If in doubt, go darker.
Size, quiet zone and printing
The empty border around a QR code is called the quiet zone, and it's part of the code. The QR standard asks for at least four modules of empty space on every side, and this tool adds exactly that. Don't crop it off, and don't put text or graphics right up against the code; a scanner needs that border to find where the code begins.
For printed size, there's no single official minimum, but two rules of thumb are widely used. First, for codes scanned up close (business cards, packaging, menus on the table), about 2 × 2 cm (0.8 inch) is the practical minimum for a short link. Second, for codes scanned from further away, make the code roughly a tenth of the scanning distance: a code people scan from 1 metre away should be about 10 cm wide, one on a poster across a room larger still. Both assume a short link at Medium; long content means more, smaller modules and needs a bigger print.
For the file itself:
- PNG 1024 × 1024 (the default) prints sharply up to about 8.7 cm wide at 300 pixels per inch, which covers flyers, cards, labels and menus.
- PNG 2048 × 2048 goes to about 17 cm at 300 ppi, for posters and signs.
- PNG 256 or 512 is for screens: emails, presentations, websites.
- SVG is a vector file, so it has no pixel size at all. Give the SVG to a print shop or designer, or use it in Word, online design tools, Illustrator or InDesign for anything large.
Don't enlarge a small PNG to make a big print: the edges of the modules go soft. Generate a larger one, or use the SVG. And if you need to reduce the file size of a code image for a website, our image compressor can do that, though QR codes are already tiny as PNG because they're made of flat color.
Each type of QR code, explained
URL / Text
Paste a full web address, starting with https://, and phones will offer to open it. Without the https:// many phones treat the content as plain text and just display it, which is a common reason a printed code "doesn't work". Plain text is useful too: a serial number, short instructions, a reference code. Just remember that text codes don't link anywhere.
Enter an address and, optionally, a subject and message. Scanning opens the phone's mail app with a new email already addressed and filled in, ready to send. The person still has to press send, so nothing goes out without their action. Some mail apps ignore a pre-filled message body; the address and subject are more reliably supported.
Phone
Scanning a phone code offers to call the number. Always include the country code with a plus sign (for example +44 20 7946 0000), so the number works for visitors with foreign phones and for calls from abroad.
SMS
An SMS code opens the messaging app with a number and a message filled in, such as a booking keyword or "Table 4 please". As with email, the person sends it themselves. We decoded our test code and got back exactly the number and message we entered.
Wi-Fi
A Wi-Fi code lets guests join your network by pointing their camera at it, without typing a password. Enter the network name (SSID) exactly as it appears, the password, and the security type: WPA / WPA2 for almost every home and office network, None for open networks. Tick Hidden network if your network doesn't broadcast its name.
Passwords with special characters need care in Wi-Fi codes: semicolons, colons, commas, quotes and backslashes have a special meaning in the Wi-Fi code format and have to be marked so they're read as part of the password. The tool does this automatically. We tested a network called "Cafe; Guest" with the password pa;ss:wo,rd"x\y and the decoded code contained both exactly, correctly marked. Our Wi-Fi QR code guide covers the details, including where to find your network's settings and how to print a sign for guests.
Before you print: a five-minute check
Most QR problems are found after printing, when they're expensive. A short routine catches nearly all of them:
- Scan the downloaded file, not the preview, with two different phones, ideally one older one and one using a different system (iPhone and Android).
- Check where it lands. Does the link open the right page, over mobile data, not just on your office Wi-Fi? Does the Wi-Fi code actually connect?
- Print one test copy at the real size on the real paper, and scan it under the light where it will hang. Glossy paper and spotlights cause glare that a screen test never shows.
- Scan from the real distance. If people will stand a metre away, test from a metre away.
- Keep the source. Save the content you encoded and the SVG, so you can make an identical code later or check what an old code contains.
Make the page behind the code worth the scan
A QR code is a promise: scan this and you'll get something useful, right now, on your phone. The page it opens decides whether people scan your next one. Make sure it works well on a small screen, loads quickly on mobile data, and shows what the sign promised without a login, an app download or a cookie wall in the way. Large images are the most common reason such pages load slowly; resizing them to about 1080 pixels wide and compressing them with the image compressor usually fixes it. If the code points to a menu or price list, a simple web page is easier to read on a phone than a PDF.
Where QR codes earn their place
A QR code is worth adding when it saves someone typing something long or awkward on a phone, right where they are. When it doesn't, a short printed address is often friendlier. These are the places where codes do their job best:
- Menus and price lists. Point to a page on your own site rather than a PDF file someone has to download. Print the code at least 3 cm wide on table cards, and keep the paper version available for people who prefer it.
- Business cards. A link to your contact page or portfolio. At this size, keep the link very short and use Medium error correction. Contact details that save straight into the address book (vCard) use a separate format this tool doesn't make. A link to your contact page does the same job with one advantage: when your number changes, you update the page, not a thousand printed cards.
- Posters and flyers. Put the code where people stand and wait, at eye level, with a short line saying what they'll get ("Scan for opening times"). People scan more when they know why.
- Guest Wi-Fi. A framed card in a guest room, office reception or café saves you spelling out passwords. If you change the password, print a new card.
- Product packaging and manuals. Link to setup videos or support pages. Use Quartile or High if the packaging will be handled a lot.
- Events. Programme, map or registration page. Test the code on the actual printed material under the actual lighting before the doors open.
QR codes on screens, slides and videos
Codes on a screen follow the same rules as printed ones, with a few twists. Screens are bright, so a pure white background can bloom around the modules in a dark room; a slightly off-white background or a dimmer display helps. In a presentation, put the code large, on its own slide or in a corner big enough to read from the back row, and leave it up long enough for people to get their phones out: half a minute is not too long. In a video, hold the code on screen for several seconds, and avoid motion or zooms while it's showing.
On social media, remember who's looking: most people see your post on the same phone they would scan with, and a phone can't easily scan its own screen. A tappable link usually does more there; save the code for the version of the post that people will see on a larger screen or in print. For screens in general, the 512 px PNG is plenty, and it keeps slide files and emails small.
QR code safety, for people who make them and people who scan them
Because a QR code hides where it leads, scammers sometimes stick their own codes over legitimate ones on parking meters, posters and restaurant tables, sending people to fake payment pages. If you put codes in public, you can make that harder: use a link on your own, recognizable domain rather than a shortener, so people can see where they're going when the phone shows the address before opening it; check your codes now and then for stickers on top; and print a short version of the address next to the code as a fallback.
When you scan, look at the address your phone shows before you tap it, and be wary of any code that leads to a payment or login page you didn't expect.
Privacy: your data stays on your device
The code is generated by a small open-source library running in your browser. What you type, including Wi-Fi passwords, is never sent to a server, stored or logged by this site. That matters most for Wi-Fi codes: a generator that works on a server has, at least briefly, your network name and password.
The finished code contains only what you typed. There's no tracking link, so nobody, including us, can see when or where your code is scanned.
Troubleshooting
The code won't scan
Check, in this order: contrast (dark on light, strong difference), size (big enough for the distance), quiet zone (white border not cropped or covered), surface (glossy lamination can reflect light into the camera; try a matte finish), and print quality (blurry or smudged edges). If the content is long, shortening it makes the modules bigger and helps more than anything else.
It opens a search or shows text instead of a website
The address is missing https://. Add it and generate the code again.
Phones see the Wi-Fi network but won't connect
Check that the network name and password match exactly, including capitals and spaces at the end, and that the security type is right. If your network is hidden, tick Hidden network. If you changed the password since printing, the code needs to be made again.
The colors I picked show a warning
The tool found an inverted code (light on dark) or low contrast. It still generates the code, but test it on several phones; better still, use a darker foreground or lighter background.
The printed code looks blurry
The PNG was enlarged beyond its size. Use the 2048 px PNG or the SVG for large prints. A heavily compressed JPG copy also smears the edges of the modules; keep QR codes as PNG or SVG.
If your problem isn't covered here, the troubleshooting page has fixes for every tool on the site.
How it compares
Generators that require sign-up often make dynamic codes with scan statistics and editable destinations. That's useful for marketing campaigns, but read the terms: some deactivate codes when a subscription or trial ends.
Built-in options exist for specific jobs. Chrome on a computer can make a QR code for the page you're viewing from its share menu. Android can show a QR code for the Wi-Fi network you're connected to in its Wi-Fi settings, and recent iPhones can do the same from the Passwords app. They're handy, but offer no control over size, colors or error correction.
Design programs often include QR generators that suit layout work, if you already use one.
This tool covers the common types in one place, makes static codes that never expire, escapes Wi-Fi passwords correctly, gives you print-ready PNG and SVG files, and never sends your information anywhere.
Related tools and guides
- Setting up guest Wi-Fi? Read the Wi-Fi QR code guide before you print.
- Need a logo image to place in the code? Make a clean version with the background remover, square it with the image cropper, and enlarge a small one with the AI image upscaler.
- Putting the code on a website or in an email? The image compressor keeps the file light.
