14 Content Types · Free

Free QR Code Generator — URL, WiFi, vCard & 14 Types

Generate custom QR codes for links, WhatsApp, WiFi, contacts, email, and more. Custom styles, scan analytics, and editable destinations — all free.

Mostly in your browser

One generator, 14 kinds of QR code

This free QR code generator turns 14 content types into a scannable code: a website URL, a WhatsApp chat, WiFi credentials, an email, a vCard contact, a GPS location, an uploaded PDF, plain text, a phone number, an SMS, a calendar event, a Telegram link, a cryptocurrency address, or a UPI payment request. Every code is customisable — choose the foreground and background colours, one of six dot styles, the corner shapes, a center logo, and an error-correction level, then export a PNG (up to 4000px), an SVG vector, or a PDF.

Static codes are built entirely in your browser, so the data you encode never leaves your device — only a Dynamic (trackable) code, an uploaded logo, or a linked PDF is ever sent to a server. Need more than one code? You can generate a whole batch of QR codes from a spreadsheet instead of making them one at a time.

What each content type actually encodes

A QR code is really just a container for text. What makes each type “smart” is the little prefix it wraps your data in — tel:, mailto:, WIFI: and so on — which tells the scanning phone what to do with it. Here is what every tab builds and when to reach for it:

Content typeWhat the QR encodesReach for it when
URLA web address the phone opens in its browser.A flyer, poster, or product label should jump to a page.
WhatsAppA wa.me link, with an optional pre-filled message.Customers should start a WhatsApp chat with one tap.
WiFiThe network name (SSID), security type (WPA, WEP, or open), and password.Guests need to join your WiFi without typing the password.
EmailA mailto: link with an optional subject and body.You want to prompt a pre-addressed email to your inbox.
vCardA contact card: name, phone, email, organisation, job title, and website.A business card should save straight into Contacts.
LocationA geo: pin built from latitude and longitude.You want to drop someone at an exact spot in their maps app.
PDFA link to a PDF you upload (up to 1MB).A printed page should open a menu, brochure, or spec sheet.
TextAny plain text, shown exactly as entered.A note, coupon code, or serial number is read offline.
PhoneA tel: number that starts a call.Signage should let people dial you instantly.
SMSA phone number with an optional pre-written text.You want a one-tap text-us-to-book flow.
EventA calendar event: title, start, end, location, and description.Attendees should add your event to their calendar.
TelegramA t.me/username link.You are growing a Telegram channel or support chat.
CryptoA wallet address for Bitcoin, Ethereum, or Litecoin, with an optional amount.You accept crypto and want the address pre-filled.
UPIA upi://pay request built from your UPI ID.You take UPI payments in India.

Static vs Dynamic: decide before you print

In Static mode the data you type is baked directly into the black-and-white modules. There is nothing to look up, so the code works offline and never expires — but the trade-off is that it is frozen. Change the destination and you have to generate and reprint a fresh code. All of it happens in your browser, and no account is needed.

A Dynamic (Trackable) code instead encodes a short /q/ redirect on our server that forwards to your real destination. Because the printed code only holds that short link, you can edit where it points, pause it, set an expiry date, cap the total number of scans, and read scan analytics — timestamp, country, city, device type, browser, and OS — all without reprinting. It needs a free account, and you can give it a custom slug such as /q/my-brand.

One honest caveat applies to every dynamic-QR service, not just this one: a Dynamic code only resolves while the redirect behind it stays online. If a provider shuts down, or you stop paying for one that charges, the printed codes stop working — whereas a Static code keeps decoding forever. For anything permanent, offline, or expensive to reprint — a book, packaging, a plaque — a Static code pointing at a stable URL you control is the safer choice.

Designing a branded code that still scans

A scanner reads a QR code by telling dark modules from light ones, so the single most important design rule is contrast. Keep dark modules on a light background; a pale foreground, or the classic light-on-dark inversion, makes older camera apps hesitate or fail. Just as important is the quiet zone — the empty margin around the code. The standard is roughly four modules of clear space, which the tool renders for you, so resist cropping right to the edge when you drop the code into a layout.

Codes also need physical room. A rough rule of thumb is 10:1 — the scan distance divided by ten is the smallest the code should be printed. A code read from about 30cm away wants to be at least 3cm (roughly 1.2in) wide; a poster read across a room needs to be far bigger. Denser content, like a long URL or a full vCard, packs in more modules, so it has to be printed larger than a short link.

This is where error correction earns its keep. Every QR code carries redundant data so it can still be read when part of it is dirty, creased, or — deliberately — hidden behind your logo. The four levels recover roughly 7% (L), 15% (M), 25% (Q), and 30% (H) of the code. When you add a center logo, keep it under about 30% of the width and set error correction to H so the redundancy replaces the modules the logo covers. The tool defaults to H for exactly this reason.

Put it together and a café WiFi code goes like this: open the WiFi tab, enter the SSID and a WPA2 password (the tool assembles the WIFI:S:CafeGuest;T:WPA;P:...;; string for you), leave error correction on H, set the foreground to your brand colour on a white background, upload a small logo, and export a 1024px PNG. Print it at least 3cm wide on the table tent and every phone in the room can join in one scan.

Common mistakes that make a QR fail

Too little contrast
Dark modules on a light background scan best. Very light foregrounds, or inverting to light-on-dark, trip up many camera apps. Keep the contrast strong and check it before printing.
No quiet zone
Cropping the code flush against a photo or border removes the clear margin scanners rely on. Leave roughly four modules of empty space on every side.
Printed too small
A dense code below about two centimetres is hard for a phone to lock onto. Shorten the data or print it larger, following the 10:1 scan-distance rule.
A logo that swallows the code
A big center logo plus low error correction wipes out data the scanner needs. Keep the logo under about 30% of the width and raise error correction to H.
Encoding a giant URL
Long links build dense, fiddly patterns. Trim the URL, or switch to a Dynamic code whose short /q/ link keeps the pattern sparse and easy to scan.
Never testing the result
Cameras vary, so scan the finished code back to confirm it decodes on both an Android and an iPhone before you commit to a print run.

How it compares to other QR tools

This tool is the quickest route when you want a good-looking, correctly-encoded code right now — free, in the browser, with no signup for static codes. It is honestly not trying to be an enterprise marketing suite; if you need thousands of codes, granular team permissions, or retail barcodes, a dedicated platform will serve you better. Roughly how the options line up:

ToolDesign controlsDynamic + trackingWhere it shines
This toolColours, 6 dot styles, corners, logo, error correction L–HFree with a free account: editable link, scan analytics, expiry, scan capOne-off branded codes with no signup for static
Dedicated QR platforms (e.g. QR Tiger, Uniqode)ExtensiveCore focus, often on paid plansBulk generation, team roles, GS1 retail codes
All-in-one design tools (e.g. Canva)Template-drivenLimitedA QR living inside a bigger poster or deck
Link shorteners (e.g. Bitly)Minimal QR stylingClick analytics via the short linkManaging many links more than the code art

Need to fire off five hundred codes for an event, or manage them as a team? A specialist platform is worth it. Designing one sharp code for a card, sign, or menu? You will be done here before a signup email would even arrive.

Frequently asked questions

PNG at 512, 1024, 2048, or 4000 pixels, an SVG vector that stays crisp at any size, or a PDF. Use SVG or a high-resolution PNG for large prints, and the PDF when you want a ready-to-place document.

Only a Dynamic (Trackable) code. It encodes a short redirect link, so you can change the destination, pause it, or set an expiry from your dashboard without reprinting. A Static code bakes the data in and cannot be changed once printed.

Open the WiFi tab, enter your network name (SSID), pick the security type (WPA is the most common), and type the password. The tool builds the WIFI: string that phones understand, so guests can scan to join without typing anything. It works on both Android and iPhone cameras.

Not if you keep it reasonable. Keep the center logo under about 30% of the width and set error correction to H, which is the default. Level H recovers roughly 30% of the code, which covers the modules the logo hides.

Yes. Static QR codes are unlimited and need no account. Dynamic codes with scan tracking need a free account, but there is no per-code charge for creating them.

Static codes are generated entirely in your browser, so what you encode never leaves your device. Dynamic codes store only the destination link and aggregate scan stats such as country and device type — no personal details about the people who scan.

From Our Blog

Related Tools