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

  1. Under 01 Content, pick a content type. Website is selected when the page opens.
  2. Fill in the fields. The live preview on the right updates as you type.
  3. 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.
  4. Choose a size: 512, 1024, 2048 or 4096 pixels. 1024 is the default.
  5. Click Download PNG, SVG or JPG, or click Copy to put a PNG on your clipboard.
  6. 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.

TypeFieldsWhat the code contains
WebsiteWebsite addressThe address as typed. If it has no scheme, https:// is added, so example.com becomes https://example.com.
TextYour textThe text exactly as typed. The field suggests keeping it to about 1,000 characters.
WhatsAppWhatsApp 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-FiNetwork name (SSID), Password, Security, Hidden networkWIFI: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 cardFirst name, Last name, Company, Job title, Phone, Email, Website, AddressA 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 paymentUPI 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.
EmailSend to, Subject (optional), Message (optional)mailto:hello@company.com?subject=...&body=... with the subject and message URL-encoded.
Phone callPhone number with country codetel:+919876543210
SMSPhone number, Message (optional)SMSTO:+919876543210:Your message
LocationLatitude, Longitudehttps://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 43210 is stored as +919876543210.
  • Wi-Fi Security offers WPA / WPA2 / WPA3 (the default, stored as WPA), WEP and No password (stored as nopass). 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

OptionWhat it doesDefault
CodeColor of the dots.#111111
BackgroundColor behind the code. Disabled while the background is transparent.#ffffff
CornersColor of the three large corner squares (the finder patterns).Same as the code
Quick palettes8 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 backgroundRemoves the background so the code sits on whatever is behind it. PNG and SVG keep the transparency.Off

Shape tab

  • Pattern: Square (default), Rounded or Dots.
  • Corners: Square (default), Rounded or Circle.

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 ME by default. One-click ideas: SCAN ME, SCAN TO PAY, JOIN WI-FI, VIEW MENU and CHAT 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

OptionChoicesDefault
Error correctionLow (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 withWhen it appears
Low contrast between the code and backgroundThe contrast ratio between the code and background colors is below 3:1. A transparent background is checked against white.
Light code on a dark backgroundThe 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 contentThe 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 backgroundTransparency 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.svg or qr-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

  1. Build the content. Your fields are turned into one of the text formats shown in the content types table.
  2. Create the matrix. The open-source qrcode library encodes that text at your error correction level, or at High when a logo is added. It picks the smallest QR version that fits.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

All tool documentation