How to Generate a QR Code (Free, No Sign-Up): Types, Sizes and Logos

Advertisement
What You Need to Generate a QR Code
How to generate a QR code in one sentence: choose what the code should contain, enter it in a QR code generator, pick a size and error correction level, and download the image. That is the whole process, and with a browser-based tool such as the QR Code Generator it takes about 30 seconds and needs no account, no app and no payment.
A QR code is a two-dimensional barcode defined by the ISO/IEC 18004 standard (current edition: 2024) and invented by Denso Wave in 1994. It stores text, and everything else (a website, a WiFi login, a contact card, a payment) is just text formatted in a way phones recognise. The largest version (Version 40, 177 by 177 modules) at the lowest error correction level holds 7,089 digits, 4,296 alphanumeric characters or 2,953 bytes, according to Denso Wave's specification, though a code that dense is hard to scan; practical codes hold a few hundred characters.
This guide covers the five steps, what to enter for each content type, how error correction and logos interact, the size that scans reliably in print, the difference between static and dynamic codes, and how to test a code before you commit it to a poster, menu or business card.
How to Generate a QR Code Step by Step
The five steps below match the controls in most generators. The example uses DNS Robot's free tool, which runs entirely in your browser.
Advertisement
Step 1: Choose the Content Type
Pick the type that matches what the scanner should do: open a URL, join WiFi, save a contact, start a WhatsApp chat, send an email, dial a number, open a map location or make a payment. The type determines how the phone reacts after scanning, so choose it rather than pasting everything as plain text.
Step 2: Enter the Data
Type or paste the content. For a website, use the full URL including https://; a bare domain works in most scanners but not all. For WiFi, enter the network name, password and security type exactly as they appear on the router. Keep the content short: fewer characters means a less dense code that scans from further away.
Step 3: Set the Error Correction Level
Choose M for codes shown on screens, Q for print, and H if you plan to add a logo. Higher levels survive more damage and obstruction but make the code denser. The section on error correction below explains the trade-off.
Step 4: Customise Colours, Frame and Logo (Optional)
Adjust dot pattern, colours, eye style, add a frame with a call to action such as "Scan me", or overlay a logo. Keep dark modules on a light background with strong contrast, and let the tool raise error correction to H automatically when a logo is added.
Step 5: Download and Test
Download PNG for websites, email and presentations, or SVG for anything that will be printed or resized. Then scan the result with your phone camera and with a second app, such as the QR Code Scanner, before you use it anywhere.
QR Code Content Types and What to Enter
The table lists the content types a modern generator supports, what to enter, and what happens when someone scans the result. The right column is what the phone actually decodes, which is useful when you want to generate the same code with the plain Text type in another tool.
| Type | What you enter | What the phone does | Encoded text looks like |
|---|---|---|---|
| URL | A full web address | Opens the page in the browser | https://example.com/menu |
| Text | Any text | Shows the text | Table 12, order at the bar |
| WiFi | Network name, password, security | Offers to join the network | WIFI:T:WPA;S:Cafe;P:secret;; |
| vCard | Name, phone, email, company, address | Offers to save the contact | BEGIN:VCARD ... END:VCARD |
| Address, subject, body | Opens a pre-filled email | mailto:hi@example.com?subject=Quote | |
| Phone | A number | Offers to dial it | tel:+14155550100 |
| SMS | A number and message | Opens a pre-filled text message | sms:+14155550100?body=Hello |
| A number and message | Opens a WhatsApp chat | https://wa.me/14155550100?text=Hi | |
| Geo location | Latitude and longitude | Opens a map at that point (iPhone support varies) | geo:37.7749,-122.4194 |
| Payment (UPI, PayPal, crypto) | Payee ID or wallet address, amount | Opens the payment app with details filled | upi://pay?pa=name@bank&am=100 |
DNS Robot's generator supports twelve types including UPI, PayPal and crypto wallets. Two jobs have their own pages with the type preselected: the WiFi QR Code Generator for guest networks, and the UPI QR Code Generator for payment codes that PhonePe, Google Pay, Paytm and BHIM read.
How to Generate a QR Code for WiFi, vCard and WhatsApp
These three are the most requested after URLs, and each has a format quirk worth knowing. The generator handles the formatting for you, but seeing the raw text explains why a code sometimes fails.
Advertisement
WiFi QR Code
The WiFi format is WIFI:T:<security>;S:<network name>;P:<password>;; where security is WPA (also used for WPA2 and WPA3 networks), WEP or nopass for open networks. Backslashes, semicolons, commas, colons and double quotes inside the name or password must be escaped with a backslash, which is the usual reason a hand-typed WiFi code fails. Hidden networks add H:true;.
WIFI:T:WPA;S:Blue Cafe Guest;P:latte\;2026;;
# Network name: Blue Cafe Guest
# Password: latte;2026 (the ; is escaped as \;)
# Security: WPA/WPA2/WPA3vCard (Contact) QR Code
A vCard QR code encodes a contact card that iPhone and Android offer to save on scan. Keep it to name, one phone, one email, company and website; a full postal address and a photo make the code dense enough to fail on business cards. Version 3.0 has the widest scanner support.
BEGIN:VCARD
VERSION:3.0
N:Shaik;Vahid;;;
FN:Vahid Shaik
ORG:DNS Robot
TEL;TYPE=CELL:+14155550100
EMAIL:hello@dnsrobot.net
URL:https://dnsrobot.net
END:VCARDWhatsApp QR Code
A WhatsApp code is just a URL in the form https://wa.me/<number>?text=<message> with the number in international format without plus, spaces or dashes, and the message URL-encoded. Scanning opens a chat with the message pre-filled, which is why restaurants and small shops use it for orders.
QR Code Error Correction Levels
Every QR code includes redundant data so it still scans when part of it is dirty, torn, covered by a logo or badly printed. The standard defines four levels, and the choice trades robustness for density.
| Level | Damage it can recover from | Best for |
|---|---|---|
| L (Low) | About 7 percent of the code | Clean screens, maximum data, very small codes |
| M (Medium) | About 15 percent | The default for websites, emails and slides |
| Q (Quartile) | About 25 percent | Print: flyers, menus, packaging |
| H (High) | About 30 percent | Logos, outdoor signs, anything that gets handled |
A logo covers part of the code, so it consumes error correction. Keep the logo under about 20 percent of the code's area at level H, and the generator will raise the level automatically when you add one. Do not add a logo at level L or M; the code may scan on your phone and fail on someone else's.
Adding a Logo, Colours and a Frame
Customisation is where most unscannable codes are born. Three rules keep a branded code reliable.
Contrast first. Dark modules on a light background. Scanners look for dark-on-light; an inverted code (light on dark) still fails on some phones and scanner apps. Aim for a contrast ratio of at least 4.5:1, the same threshold used for readable text.
Leave the quiet zone. The blank margin around the code, at least four modules wide, is part of the code. Frames, text and logos must sit outside it.
Keep the three eyes intact. The large squares in three corners are how the scanner finds and orients the code. You can restyle them (rounded, dots) but never cover or recolour them so lightly that they blend into the background.
Gradients work if both ends stay dark against the background. A frame with a short call to action, such as "Scan for menu", raises scan rates because people know what they will get, and the page behind the code should deliver exactly that, which is the job of a focused landing page. Test any customised design on both an iPhone and an Android phone, in dim light, before it goes to print.
Advertisement
QR Code Size for Print and Screens
The reliable rule of thumb is size equals scanning distance divided by 10. A code scanned from 1 metre needs to be about 10 centimetres across; one scanned from a table at 30 centimetres needs 3 centimetres. The absolute minimum for print is around 2 by 2 centimetres, and only for short URLs at level M or below.
| Where it goes | Typical scan distance | Minimum size |
|---|---|---|
| Business card | 20 to 30 cm | 2 x 2 cm |
| Menu, flyer, product packaging | 30 to 50 cm | 3 x 3 cm |
| Poster, shop window | 1 to 2 m | 10 to 20 cm |
| Banner, billboard, vehicle | 5 m and beyond | 50 cm and up |
| Website or email | Screen distance | 150 to 250 pixels displayed |
| Presentation slide | 3 to 6 m | At least a quarter of the slide height |
Export SVG for anything printed; it scales to any size without blurring. For screens, export PNG at 512 or 1024 pixels and let the page scale it down. Shorter content helps here too: a 30-character URL produces a coarser, easier-to-scan grid than a 200-character one at the same physical size. A QR code on a business card that opens your resume website is the classic small-format case: 2 by 2 centimetres, a short URL, level M.
Static vs Dynamic QR Codes
A static QR code encodes the content directly: the URL, the WiFi login, the vCard. It never expires, needs no service, and cannot be changed after printing. A dynamic QR code encodes a short redirect URL that a service controls, so the destination can be changed later and scans can be counted, usually for a monthly fee.
You can get the benefits of dynamic codes without the subscription by pointing the code at a short URL on a domain you control and managing the redirect yourself. Print https://yourdomain.com/menu on the card, redirect it to wherever the menu lives this month, and change the redirect whenever you like. The Redirect Checker confirms the short URL reaches the final page in a single hop (a loop shows up as the too many redirects error), and the Domain Availability Checker helps if you do not yet own a short domain for it.
Advertisement
How to Test and Track a QR Code
Testing takes two minutes and prevents the most expensive QR failure: a thousand printed menus pointing at a page that shows a browser warning. Scan the final artwork, not just the downloaded PNG, with the native camera app on an iPhone and on an Android phone, and with a dedicated reader such as the QR Code Scanner, which also shows you the exact decoded text.
For URL codes, check the destination as well as the code. The page must load over HTTPS with a valid certificate, because a privacy warning after a scan ends the visit. The SSL Checker confirms the certificate in seconds, and the connection is not private fix explains the warning if you see one. If the link redirects, the Redirect Checker shows every hop. To count scans without a paid service, add UTM parameters to the URL before generating the code; every scan then appears in your analytics as its own source.
https://yourdomain.com/menu?utm_source=qr&utm_medium=print&utm_campaign=table-tents
# One code per placement: table-tents, window, flyer
# Analytics then reports scans per placement for freeQR Code Mistakes to Avoid
Printing too small. Under 2 by 2 centimetres almost nothing scans reliably. Use the distance-divided-by-10 rule.
Low contrast or inverted colours. Light modules on a dark background still fail on some scanners.
Covering the eyes or the quiet zone with a logo, a frame or text.
Encoding a long URL. Shorten it on your own domain; the code gets coarser and scans further away.
A destination that changes. If it might move, point the code at a redirect you control.
Linking to an HTTP page or a broken certificate. Scan, then check the page shows a padlock.
Never testing on another phone. Your own phone has seen the code before; a stranger's has not.
No call to action. A bare code gets fewer scans than one that says what the scan gives.
Generate a QR code now, free and without sign-up
DNS Robot's free QR Code Generator supports URL, WiFi, vCard, email, phone, SMS, WhatsApp, location and payment codes, with logo overlay, colours, frames and four error correction levels. Download PNG or SVG up to 2048 pixels. Everything runs in your browser and your data never leaves your device.
Попробовать QR Code GeneratorAdvertisement
How to Generate a QR Code FAQ
Open a browser-based QR code generator, choose the content type, enter the URL or text, pick a size and error correction level, and download the PNG or SVG. DNS Robot's generator does this without sign-up, watermarks or limits, and processes everything in your browser.