Website URL QR code
Opens a web page in the phone's browser. The most common QR code: menus, landing pages, reviews, app downloads.
https://example.com/menu
Make a custom QR code in seconds — for a website, Wi-Fi network, contact card, WhatsApp chat and more. Add your logo, colors, gradients and a “Scan me” frame, then download a high-resolution PNG or a print-ready SVG. It is completely free: no sign-up, no watermark, and the codes never expire.
At a glance
This generator makes static QR codes: your link, text or details are written directly into the pattern, so the code works without us, never expires and can be scanned an unlimited number of times. Every design option and every download format is free — there is no premium tier on this page.
Need to change where a printed code points, or count its scans? That takes a dynamic QR code, which a free Letlink account includes.
How it works
Four steps, about a minute, no account.
Pick a content type — website URL, plain text, email, phone call, SMS, WhatsApp, Wi-Fi network, contact card (vCard), map location or calendar event — and fill in the fields.
Set solid or gradient colors, pick a dot shape and corner (eye) shapes, upload your logo, and add a frame with a call to action such as "Scan me". The preview updates as you go.
Press Generate QR code. The first time, confirm you are not a robot; after that you can create up to 5 codes a minute. Restyling a generated code is instant and does not count.
Download a PNG, JPEG or WebP up to 4096 pixels, or an SVG vector for print, then scan it with two or three different phones before you print or publish it.
What a QR code can do
Each type writes its content in the format phone cameras already understand, so the right app opens on scan — no special QR app needed.
Opens a web page in the phone's browser. The most common QR code: menus, landing pages, reviews, app downloads.
https://example.com/menu
Shows a short message on screen with no internet connection needed — serial numbers, instructions, a note.
Any text, up to 2,000 bytes
Opens a new email with the address, subject and body already filled in, ready to send.
mailto:[email protected]?subject=…&body=…
Dials a number with one tap. Include the country code so it works from anywhere.
tel:+14155550100
Opens the messaging app with a recipient and a pre-written text — handy for opt-ins and keyword campaigns.
SMSTO:+14155550100:Your message
Starts a WhatsApp chat with your number, optionally with a first message typed out for the customer.
https://wa.me/14155550100?text=…
Joins a wireless network without typing the password. Supported by the built-in camera on iPhone (iOS 11+) and Android 10+.
WIFI:T:WPA;S:Network;P:password;;
Saves a full contact — name, company, job title, phones, email, website and address — straight to the address book. Ideal for business cards.
BEGIN:VCARD … END:VCARD (vCard 3.0)
Opens a place in Google Maps on any phone, from an address or exact latitude and longitude.
https://www.google.com/maps/search/?api=1&query=…
Adds an event with its title, start and end time, location and notes to the phone's calendar.
BEGIN:VEVENT … END:VEVENT (iCalendar)
Design
A styled code only helps if it still scans. The generator warns you when a design breaks one of these rules:
| Rule | Why |
|---|---|
| Dark code on a light background | Many phone cameras fail on inverted (light-on-dark) codes. |
| Strong contrast | Pale colors or a gradient that fades into the background leave the camera nothing to lock on to. |
| Leave a quiet zone | An empty margin around the code tells the scanner where it starts. The QR standard (ISO/IEC 18004) specifies four modules. |
| Logo under 30% of the width | A logo hides modules; error correction level H restores up to 30% of the code. |
| Test before printing | Scan with two or three different phones, at the size and distance people will really use. |
Reliability
Error correction adds redundant data so a code still scans when part of it is dirty, damaged or covered by a logo. More correction means a denser pattern.
| Level | Restores | Use it for |
|---|---|---|
| L — Low | ≈ 7% | Long content that must stay small, clean screens |
| M — Medium | ≈ 15% | Most codes — the default |
| Q — Quartile | ≈ 25% | Packaging, outdoor print, small logos |
| H — High | ≈ 30% | Codes with a logo, rough surfaces |
Printing
Print a QR code at least 2 × 2 cm (0.8 × 0.8 in), and make it about one tenth as wide as the distance it will be scanned from. Download SVG for print so it stays sharp at any size.
| Where | Scanned from | Code width |
|---|---|---|
| Business card, label | 15–25 cm | 2–2.5 cm |
| Flyer, menu, table tent | 30–50 cm | 3–5 cm |
| Poster, window sticker | 1–2 m | 10–20 cm |
| Banner, billboard | 5 m and more | 50 cm and more |
Static or dynamic
A static QR code stores its content in the pattern — what this page makes. A dynamic QR code stores a short link that redirects, so you can change the destination after printing and see every scan.
| Static — this page | Dynamic — Letlink account | |
|---|---|---|
| Price | Free, no account | Free plan includes 3 |
| Expires | Never | Never, while the account exists |
| Change the destination after printing | No — print a new code | Yes, at any time |
| Scan analytics | None — nobody sees your scans | Every scan, by country, device, browser and time |
| Works offline (Wi-Fi, text, vCard) | Yes | Web links only |
| Pattern density | Grows with the content | Always short and easy to scan |
Yes. Every feature — logo, colors, gradients, dot and corner shapes, frames, SVG and high-resolution PNG downloads — is free, with no sign-up, no watermark, no trial and no scan limit. The only limit is on speed: each visitor can create 5 new codes a minute, which keeps the tool fast for everyone.
No. Codes made here are static: the web address, Wi-Fi password or contact details are written into the pattern itself, with no server in between that could be switched off. A printed code keeps working for as long as the destination it points to exists.
No. Open the page, enter your content, design the code and download it. Nothing is tied to an account, and the content of your code is not saved.
Yes. Upload a PNG, JPEG, WebP or SVG logo and set its size and padding; the modules behind it are cleared so it sits cleanly in the middle. The logo is drawn in your browser and never uploaded. With a logo, use error correction level H — the Auto setting does this for you — and keep the logo under about 30% of the code's width.
A static QR code stores its content directly in the pattern: it is free and permanent, but it cannot be edited after printing and its scans cannot be counted. A dynamic QR code stores a short redirect link instead, so you can change the destination at any time and see every scan. This page makes static codes; a free Letlink account makes dynamic, trackable ones — the Free plan includes 3.
Use SVG for print and anything that will be resized — it is a vector and stays sharp at any size. Use PNG for websites, documents and slides (it supports a transparent background), JPEG where transparency is not supported, and WebP for the smallest web files. Raster downloads go up to 4096 × 4096 pixels.
At least 2 × 2 cm (0.8 × 0.8 in) for anything scanned up close, and larger the farther away people stand: make the code about one tenth as wide as the scanning distance. A poster read from 2 metres needs a code about 20 cm wide. Codes that hold a lot of content are denser and need more room still.
The usual causes are low contrast between the code and its background, light modules on a dark background, a logo that covers too much of the pattern, no quiet zone (margin) around the code, or printing it too small. Keep the code dark on light, leave a margin, use error correction Q or H with a logo, and test with several phones before printing.
M (restores about 15% damage) suits most codes and is the default. Choose Q (25%) or H (30%) when the code carries a logo or will be printed where it can get scratched or dirty; choose L (7%) only to keep a very long code small. Higher levels make the pattern denser.
Yes. The codes you create here are yours to put on packaging, menus, business cards, flyers, adverts, signage and products, with no attribution, license fee or royalty.
As many as you need. To keep the free tool fast and stop automated abuse, each visitor can generate up to 5 codes a minute, and the first generation asks you to confirm you are not a robot. Changing the colors, shapes, logo or frame of a code you have already generated does not count.
Choose Wi-Fi, enter the network name (SSID), the password and the security type — WPA/WPA2/WPA3, WEP or none — and generate. Guests scan it with the iPhone or Android camera and join without typing the password. The password is stored in the code itself, so only display it where you would share the password.
Your content is sent to the server only to be encoded and is not stored, and your logo and styling never leave your browser. The server keeps a short-lived per-minute counter for your IP address to enforce the limit, and Google reCAPTCHA checks the first generation for bots.
No, by design: a static code opens its destination directly with no redirect, so nobody — Letlink included — sees who scanned it. To count scans by country, device and time of day, create a dynamic QR code in a free Letlink account instead.
At its largest size (version 40, 177 × 177 modules) a QR code holds up to 7,089 digits, 4,296 alphanumeric characters or 2,953 bytes. This generator accepts up to 2,000 bytes; shorter content makes a less dense code that scans faster and can be printed smaller.
A free Letlink account turns your QR code into a tracked, editable link: see scans by country, device and time, and change where it points without reprinting.
Last updated by the Letlink team. QR Code is a registered trademark of DENSO WAVE INCORPORATED.