QR Code Generator — Make a QR Code Online Free
Part of Media tools: See all Media tools.
What is QR Code Generator?
This free QR code generator turns a URL, a short message or a formatted string such as Wi-Fi details into a black-and-white QR code PNG. Choose a size from 64 to 512 pixels and optionally add a small logo in the center. Click Generate & Download to see the preview and save the file. The codes are static: the content is stored in the pattern itself, so they never expire.
How to use QR Code Generator
- Type or paste the URL or text you want the code to open, for example your full https:// link.
- Set the size in pixels (64–512, default 256). Use 512 for anything you plan to print.
- Optional: choose a PNG or JPG logo to place in the center. Keep it simple and high-contrast.
- Click Generate & Download. The preview appears on the page and qrcode.png downloads. Scan it with your phone camera before you share or print it.
Why use this tool?
A QR code is the quickest way to get someone from paper, a screen or packaging to a web page, a Wi-Fi network or a contact card. This generator gives you a plain static code with a proper quiet zone, no sign-up and no watermark. There is no redirect service in between that could stop working or track scans.
Make it usable: QR codes are only as good as their destination. Create the QR after you finalize the URL, and avoid destinations that might change frequently.
Test the printed/posted code by scanning it with a phone camera before you distribute it widely.
How this QR code generator works
When you click Generate & Download, your text and chosen size are sent to our server. The server builds a standard QR code and resizes it to the size you chose, from 64 to 512 pixels square. It then returns a PNG that your browser shows as a preview and saves as qrcode.png. The code is black on white with a five-module quiet zone, which is the empty margin scanners need around the pattern. It uses error-correction level M, which can recover about 15% of the code. If you upload a logo, the server switches to level H, about 30%, places the logo in the center at a quarter of the code's width, and keeps the logo's proportions.
The longest input it accepts is 2,000 characters. Longer content needs more modules (the small squares), so the same 512-pixel image has to pack them more tightly. A short web address produces a code about 25–33 modules wide. A 2,000-character paragraph needs about 169 modules, which leaves only about three pixels per module at 512 px. That is hard for phones to read. Keep the content short: link to a page instead of pasting the whole text.
What you can encode, with examples
- Website:
https://example.com/menu. Always includehttps://so phones recognise it as a link. - Wi-Fi network:
WIFI:T:WPA;S:Cafe Guest;P:your-password;;. Phone cameras offer to join the network. Use a guest network, because anyone who scans the code can read the password. - Email:
mailto:hello@example.com?subject=Bookingopens a new email with the subject filled in. - Phone call:
tel:+15551234567puts the number in the dialler. - Plain text: a serial number, a short note or an asset tag. Scanners show the text and usually offer to copy it.
We tested the Wi-Fi format above: the PNG decodes back to the exact string. Whether a particular phone offers “Join network” depends on its camera app, so test with the phones your audience is likely to use.
Static QR codes: no expiry, no tracking
Some QR services make “dynamic” codes that point to their own short link and then redirect to your page. That lets you change the destination later, but the code stops working if the service shuts down or your subscription ends, and every scan passes through their servers. This generator only makes static codes. Your URL is stored directly in the pattern, so nothing sits between the scanner and your page.
If you think the destination might change, you can get the same flexibility yourself. Encode a short URL on your own domain, such as https://example.com/qr-menu, and set it to redirect wherever you like. To measure scans, add UTM parameters to the URL, such as ?utm_source=flyer&utm_medium=qr, and read them in your own analytics.
Size and print guide
The largest PNG is 512 × 512 pixels. How big it prints depends on the print resolution:
| Print resolution | Printed width of a 512 px code | Good for |
|---|---|---|
| 300 dpi | about 4.3 cm (1.7 in) | Business cards, labels, packaging |
| 150 dpi | about 8.7 cm (3.4 in) | Flyers, menus, table cards |
A common rule of thumb is to make the code at least one tenth of the distance it will be scanned from. That means about 2–3 cm for a business card held in the hand, and about 10 cm for a poster read from a metre away. Codes are made of square blocks, so you can enlarge the PNG in a design tool. Use “nearest neighbour” scaling, if your tool offers it, to keep the edges sharp. Leave the white margin around the code in place, and do not crop into it.
Adding a logo without breaking the code
A logo covers part of the pattern, and the scanner rebuilds the hidden part from error-correction data. Because of that, the generator uses level H whenever you add a logo. We tested this with the same QR library and settings the generator uses. With a solid logo at the default quarter-width size, all 12 test codes (two URLs, two logo shapes, three sizes from 256 to 512 px) decoded at level H. Nine of the same 12 failed at level M. To keep your code readable:
- Use a simple, high-contrast mark. A transparent PNG works well.
- Keep the encoded URL short, so each module is larger.
- Do not cover the three large squares in the corners. The generator always centers the logo, so they stay clear.
- Scan the downloaded file on screen and on a paper test print, from the real distance, with more than one phone.
If your QR code will not scan
- Too small for the distance. Print it larger, or move the code closer to where people stand.
- Too much content. Shorten the URL or remove tracking parameters you do not need.
- Logo too dominant. Try again without the logo, or use a simpler, smaller mark.
- Cropped margin. Keep the white border around the code when you place it in a design.
- Glossy or curved surface. Reflections and curves confuse cameras. Use a matte finish for printed codes.
Privacy
The code is drawn on our server, so the text you enter travels there over HTTPS and the PNG comes straight back. We do not keep a gallery or history of codes. As with any website, requests can appear in standard server logs for a short time. Do not encode secrets you would not otherwise send over the web. Use a guest Wi-Fi network for Wi-Fi codes.
Need to reuse your QR code in a design? The Image Resizer can change its canvas size. The Color Picker gives you exact brand colors for the design around the code, and the Invoice Generator builds an invoice you can link to from it.
Frequently asked questions
- Is this QR code generator free, and do the codes expire?
- Yes, it is free with no sign-up. The codes are static: your URL or text is stored in the pattern itself, so the code keeps working for as long as the destination exists. There is no redirect, scan tracking or expiry date.
- What can I put in a QR code?
- Any text up to 2,000 characters. Most people use a web address, but you can also use plain text, an email link (mailto:), a phone number (tel:) or Wi-Fi details in the format WIFI:T:WPA;S:network name;P:password;; which phone cameras offer to join.
- What size should I choose for printing?
- Choose 512 px, the largest option. At 300 dpi that prints about 4.3 cm (1.7 in) wide, and at 150 dpi about 8.7 cm (3.4 in). A common rule of thumb is to make the code at least one tenth of the scanning distance, so about 10 cm for a sign read from 1 metre. Always scan a test print.
- Will adding a logo stop my QR code from scanning?
- When you add a logo, the generator uses the highest error-correction level (H), which can recover about 30% of the code. The logo is scaled to a quarter of the code's width. Simple, high-contrast logos usually scan, but always test with your phone before printing.
- Can I download an SVG or change the colors?
- No. The generator makes a black-on-white PNG only. That combination scans most reliably. If you need a vector file for large-format print, use a design tool that can export SVG.
- Is the text I enter stored?
- Your text is sent to our server to draw the image, and the PNG is returned to your browser. We do not keep a gallery of generated codes. Like any web request, it may appear briefly in standard server logs, so avoid encoding passwords or other secrets you would not send over the web.
Step-by-step guides
Also try
Related tools that work well with this one: