QR code generator
Make a QR code from a link, a Wi-Fi login, a contact card and more. Pick a type, fill in the fields, set the colours and error correction, then download the code as an SVG or PNG.
QR code editor format
The editor is form driven, so you rarely need to write anything by hand. Behind the form is a small line based source you can read and edit on the Source tab. The first line is the word qr. Then a type: line, then one line per field, then the render settings: error correction, module size, margin and the two colours.
qr
type: url
url: https://markdown.org
ec: M
cellSize: 4
margin: 4
dark: #000000
light: #ffffff
Payload types
The type decides which fields you fill in and how they are encoded into the string the QR code carries. Every type is listed below with the exact string it builds.
Text
Any raw text, encoded as is. Good for a short note, a code or a serial number.
qr
type: text
text: Hello from markdown.org
URL / link
A web address. If you leave off the scheme the editor adds https:// for you.
qr
type: url
url: https://markdown.org/tools/
Opens a new email to the address, optionally with a subject and body. Encodes as mailto:addr?subject=..&body=...
qr
type: email
email: hi@example.com
subject: Hello
body: Just scanned your code
Phone
Dials a number. Encodes as tel:<number>.
qr
type: phone
phone: +15551234567
SMS
Starts a text message with an optional pre filled body. Encodes as SMSTO:<number>:<message>.
qr
type: sms
number: +15551234567
message: Hello there
Wi-Fi
Joins a wireless network. Set the security to WPA, WEP or None. Encodes as WIFI:T:<WPA|WEP|nopass>;S:<ssid>;P:<password>;H:<true if hidden>;;.
qr
type: wifi
ssid: MyNetwork
password: s3cr3t-pass
security: WPA
hidden: false
Contact card (vCard)
Adds a full contact. Encodes a BEGIN:VCARD … END:VCARD block with the name, organisation, title, phone, email, URL and address.
qr
type: vcard
name: Ada Lovelace
org: Analytical Engines
title: Engineer
phone: +15551234567
email: ada@example.com
url: https://example.com
address: 12 Baker St, London
Location (geo)
Drops a map pin at a latitude and longitude. Encodes as geo:<lat>,<lng>.
qr
type: geo
lat: 51.5074
lng: -0.1278
Calendar event
Adds an event to the calendar. Encodes an iCalendar VEVENT with a title, location, start and end. Times are written as YYYYMMDDTHHMMSS.
qr
type: event
title: Launch party
location: The Office
start: 2026-08-01T18:00
end: 2026-08-01T21:00
Crypto payment
Requests a payment to a wallet address. Encodes as <coin>:<address>?amount=<amount>, for example bitcoin:<address>?amount=0.01.
qr
type: crypto
coin: bitcoin
address: 1BoatSLRHtKNngkdXEeobR76b53LETtpyT
amount: 0.01
Settings
These lines control how the code is drawn. They apply to every type.
| Write this | Meaning |
|---|---|
ec: L | Error correction: L low, M medium, Q quartile, H high. Higher survives more damage but holds less data. |
cellSize: 4 | Module size in pixels. |
margin: 4 | Quiet zone around the code, in modules. |
dark: #000000 | Colour of the dark modules. |
light: #ffffff | Background colour. |
Cheat sheet
| Type | Encodes to |
|---|---|
text | The raw text |
url | The link (adds https:// if missing) |
email | mailto:addr?subject=..&body=.. |
phone | tel:number |
sms | SMSTO:number:message |
wifi | WIFI:T:WPA;S:ssid;P:password;H:false;; |
vcard | BEGIN:VCARD … END:VCARD |
geo | geo:lat,lng |
event | iCalendar VEVENT |
crypto | coin:address?amount=.. |