Free QR Code Generator documentation
This guide explains every content type, design option and download setting in the Free QR Code Generator. Everything runs in your browser, so you can follow along in the tool as you read.
Open the Free QR Code Generator
What it does
The Free QR Code Generator creates QR codes for 10 kinds of content: a website, plain text, a WhatsApp chat, a Wi-Fi network, a contact card, a UPI payment, an email, a phone call, an SMS and a map location.
These are static QR codes. The content is stored inside the pattern itself, with no redirect server in between, so a code keeps working for as long as the destination exists. There is no sign-up, no watermark and no expiry date.
You can style each code with your own colors, three dot patterns, three corner styles, a logo in the center and a frame with a short caption. Then you download it as a PNG, SVG or JPG up to 4096 pixels wide, or copy it straight to your clipboard.
Everything is generated in your browser, so nothing you type is uploaded.
Quick start
- Under 01 Content, pick a content type. Website is selected when the page opens.
- Fill in the fields. The live preview on the right updates as you type.
- Under 02 Design, use the Colours, Shape, Logo, Frame and Advanced tabs to style the code. A check mark appears on the Logo and Frame tabs when those are switched on.
- Choose a size:
512,1024,2048or4096pixels.1024is the default. - Click Download PNG, SVG or JPG, or click Copy to put a PNG on your clipboard.
- Scan the result with your phone before you print it.
Example: for a guest Wi-Fi counter card, pick Wi-Fi, enter the network name and password, add a frame with the caption JOIN WI-FI, and download a 2048 pixel PNG.
Every option explained
Content types
Each type builds a standard text format that iPhone and Android cameras already understand. The table shows the fields and the exact data that goes into the code.
| Type | Fields | What the code contains |
|---|---|---|
| Website | Website address | The address as typed. If it has no scheme, https:// is added, so example.com becomes https://example.com. |
| Text | Your text | The text exactly as typed. The field suggests keeping it to about 1,000 characters. |
| WhatsApp number with country code, Pre-filled message (optional) | https://wa.me/919876543210?text=... with the message URL-encoded. Spaces, dashes and the leading plus sign are removed from the number. | |
| Wi-Fi | Network name (SSID), Password, Security, Hidden network | WIFI:T:WPA;S:name;P:password;H:true;;. The P: part is left out for nopass, and H:true; is only added for hidden networks. |
| Contact card | First name, Last name, Company, Job title, Phone, Email, Website, Address | A vCard 3.0 that starts with BEGIN:VCARD and holds N, FN, ORG, TITLE, TEL;TYPE=CELL, EMAIL, URL and ADR;TYPE=WORK lines for the fields you fill in, then END:VCARD. |
| UPI payment | UPI ID, Payee name, Amount in rupees (optional), Note (optional) | upi://pay?pa=yourname@bank&pn=Name&am=250.00&cu=INR&tn=Note. The amount is written with 2 decimals and only added when it is above zero. cu=INR is always included. |
| Send to, Subject (optional), Message (optional) | mailto:hello@company.com?subject=...&body=... with the subject and message URL-encoded. | |
| Phone call | Phone number with country code | tel:+919876543210 |
| SMS | Phone number, Message (optional) | SMSTO:+919876543210:Your message |
| Location | Latitude, Longitude | https://maps.google.com/?q=17.4326,78.4071 |
A few rules apply behind the scenes:
- Phone numbers (Phone call, SMS, contact card) keep only digits and the plus sign, so
+91 98765 43210is stored as+919876543210. - Wi-Fi Security offers
WPA / WPA2 / WPA3(the default, stored asWPA),WEPandNo password(stored asnopass). The characters\ ; , : "in the network name or password are escaped with a backslash so phones read them correctly. - Contact card needs at least a first name, last name or company. If you give only a company, it becomes the display name.
- UPI ID must look like
name@handle(letters, digits, dots, dashes and underscores on each side of the @). - Location needs both values, with latitude between -90 and 90 and longitude between -180 and 180.
Colours tab
| Option | What it does | Default |
|---|---|---|
| Code | Color of the dots. | #111111 |
| Background | Color behind the code. Disabled while the background is transparent. | #ffffff |
| Corners | Color of the three large corner squares (the finder patterns). | Same as the code |
| Quick palettes | 8 tested pairs: #111111 on #ffffff, #1d3557 on #ffffff, #0b6e4f on #f1faee, #7b2cbf on #ffffff, #c1121f on #fff8f0, #e8731f on #141210, #ffffff on #141210 and #3a2e1f on #f3f0e8. Picking one also resets the corner color and turns transparency off. | None |
| Transparent background | Removes the background so the code sits on whatever is behind it. PNG and SVG keep the transparency. | Off |
Shape tab
- Pattern:
Square(default),RoundedorDots. - Corners:
Square(default),RoundedorCircle.
Logo tab
Click Add your logo and choose a PNG, JPG, WebP or SVG file up to 2 MB. The logo sits in the center on a small tile in your background color (white when the background is transparent). Error correction switches to High automatically and the setting is locked until you click Remove. A square logo on a plain background works best.
Frame tab
- No frame (default) or Frame with caption, which places the code on a colored card with a caption band underneath.
- Caption: up to 24 characters,
SCAN MEby default. One-click ideas:SCAN ME,SCAN TO PAY,JOIN WI-FI,VIEW MENUandCHAT WITH US. A clear caption works like a call to action. - Frame colour: matches the code color unless you pick another. The caption text turns black or white automatically, depending on how light the frame is.
Advanced tab
| Option | Choices | Default |
|---|---|---|
| Error correction | Low (7%), Medium (15%), Quartile (25%), High (30%). The percentage is roughly how much of the code can be damaged or covered and still scan. | Medium (High with a logo) |
| Margin (quiet zone) | A slider from 0 to 10 modules of empty space around the code. | 4 modules |
Reading the results
The live preview
Above the preview you see a line such as 29×29 · v3 · 42 chars. The first part is the number of modules (small squares) on each side, v3 is the QR version, and the last part is the length of the encoded content. Smaller numbers mean a simpler code that scans faster.
Warnings
Warnings appear under the preview. They do not stop you from downloading, but they are worth a second look.
| Warning starts with | When it appears |
|---|---|
| Low contrast between the code and background | The contrast ratio between the code and background colors is below 3:1. A transparent background is checked against white. |
| Light code on a dark background | The code color is lighter than the background. Most phones handle it, but older scanners may not. |
| This is a dense code because of the long content | The code is more than 73 modules wide. The tool suggests shorter content, a download of 2048 pixels or larger, and printing at least 4 cm wide. |
| Transparent background | Transparency is on. Place the code on a light, plain surface. |
Your downloaded file
- Files are named after the content type, such as
qr-url.png,qr-wifi.svgorqr-vcard.jpg. - The size you pick is the width in pixels. Without a frame the image is square. With a frame it is a little taller than it is wide, to fit the caption band.
- PNG suits websites, documents and social posts, and keeps a transparent background.
- SVG is a vector file that stays sharp at any print size and opens in design tools.
- JPG cannot be transparent, so a transparent code is saved on white.
- Copy puts a PNG on your clipboard at your chosen size, capped at 1024 pixels. You will see "Copied! Paste it into your document or design." when it works.
How it works
- Build the content. Your fields are turned into one of the text formats shown in the content types table.
- Create the matrix. The open-source
qrcodelibrary encodes that text at your error correction level, or at High when a logo is added. It picks the smallest QR version that fits. - Draw the code. Each dark module becomes a square, rounded square or dot in an SVG image. The three corner squares are drawn in your corner style and color. With Rounded or Dots, the small alignment squares stay solid so scanners can lock on.
- Place the logo. A centered window about 22% of the code width (at least 5 modules) is cleared for your logo. High error correction rebuilds the missing part when scanned.
- Add the frame. If you chose one, the code is placed on a rounded card in your frame color, with the caption in a band below.
- Export. SVG is the drawing itself. PNG and JPG are rendered from it in your browser, with JPG at 95% quality.
Tips for the best results
- Keep strong contrast. A dark code on a light background scans best. The presets are a safe place to start.
- Keep content short. A shorter link makes a simpler code. For marketing links, add UTM parameters so you can see the traffic in your analytics, but keep them brief.
- Leave the quiet zone. The default margin of 4 modules is the safe choice. Do not crop it away in your design.
- Keep the logo simple. A square logo on a plain background reads better than a detailed one.
- Size it for the distance. Print at least 2 × 2 cm for cards and labels, and use SVG or 2048 pixels and above for print. A good rule is about one tenth of the scanning distance, so a poster read from 2 meters needs a code around 20 cm wide.
- Test before you print in bulk. Scan with two different phones. For UPI codes, make a small test payment first.
- Send people somewhere useful. A website code works best when it opens a mobile-friendly landing page, not a busy home page.
Planning a print or packaging campaign around your QR codes? My team at Thetechhacker is happy to help. Let's talk.
Limits, privacy and fair use
Limits
- Content: one QR code holds roughly 2,900 bytes at Low error correction, and less at higher levels. If your content does not fit, the tool tells you instead of drawing a code.
- Logo: PNG, JPG, WebP or SVG, up to 2 MB. Adding one sets error correction to High.
- Caption: up to 24 characters.
- Margin: 0 to 10 modules.
- Download size: 512, 1024, 2048 or 4096 pixels wide. Copy to clipboard is capped at 1024 pixels.
- UPI: amounts are in Indian rupees (
INR).
Privacy
The code is generated entirely in your browser. What you type and the logo you add stay on your device and are not sent to a server or stored. This matters most for Wi-Fi passwords and contact details.
Static codes
Because the content lives inside the code, it never expires. The trade-off is that you cannot change it after printing. If a link might change, point the code to a page you control. Dynamic codes, which can be redirected later, are a private feature for the site owner and are not offered to the public.
Fair use
The tool is free, with no account and no watermark.
Troubleshooting
- The preview says "Fill in the ... details to see your QR code." A required field is empty or invalid. Check the UPI ID looks like
name@handle, that both latitude and longitude are filled in and in range, and that a contact card has a first name, last name or company. - "That’s too much content for one QR code." Shorten the text or link, or lower the error correction in the Advanced tab. If a logo is added, error correction is locked at High, so removing the logo also frees up space.
- "Logos can be PNG, JPG, WebP or SVG up to 2 MB." Your file is another format or larger than 2 MB. Export a smaller PNG or an SVG and try again.
- "Your browser blocked copying images. Use Download instead." Some browsers do not allow images on the clipboard. Download the PNG and insert it from the file.
- "Could not create the image." The browser could not render the PNG or JPG. Try SVG, a smaller size, or a different browser.
- The code does not scan. Raise the contrast, keep a margin of at least 4 modules, print it larger, or shorten the content. If you see the dense code warning, download at 2048 pixels or more.
- Phones join the wrong Wi-Fi or ask for a password. Check the network name and password are exact, including capital letters, and that the Security setting matches your router.
- The JPG has a white background. JPG does not support transparency. Use PNG or SVG for a transparent code.
- The UPI amount looks different. Amounts are rounded to 2 decimals, and an amount of zero or less is left out so the payer can choose.