Search for a command to run...
Encode a URL, Wi-Fi network, vCard, location, or any text into a scannable QR code. Live preview, multiple formats, full color control — everything renders locally in your browser.
Choose what the QR should encode — a URL, a Wi-Fi network, a contact card, a phone number, a location, or any plain text.
Each type asks for only the fields it needs. The QR re-renders instantly as you type — there's no "generate" button to chase.
Tweak colors, the quiet-zone margin, and pick an error-correction level. Higher recovery is forgiving but uses more space.
Scan with your phone to confirm it works, then download as crisp SVG (for print) or PNG (for screens and chat).
Most modern scanners recognise these encodings out of the box. Picking the right one means the scanner does the right thing — opens a browser, joins Wi-Fi, saves a contact — instead of just showing raw text.
Opens the target URL. The most common QR use case — menus, posters, product packaging, login flows.
https://tool127.com/qr-codeSurfaces the text in the scanner. Useful for codes, short messages, or anything that isn't tied to a specific app.
Hello, world!Joins the network without typing the password. Supports WPA/WPA2, WEP, and open networks, including hidden SSIDs.
WIFI:T:WPA;S:home;P:secret;;Pre-fills the device's mail app with recipient, subject, and body — handy for support flows or feedback links.
mailto:hi@x.com?subject=HelloOpens the SMS app with the number (and optional message body) already filled in.
SMSTO:+1234567890:HiTriggers a tap-to-call. Use the international format (+country code) so it works for travellers and roaming users.
tel:+1234567890vCard 3.0 lets a scanner save your contact details directly to the address book — name, phone, email, website, address.
BEGIN:VCARD ... END:VCARDOpens the native maps app at the given latitude/longitude. Great for venues, meetups, and printed flyers.
geo:40.7128,-74.0060iCalendar (VEVENT) entry — title, start/end, location, description. Scanners add it to the device calendar with one tap.
BEGIN:VCALENDAR ... END:VCALENDARBIP21-style URIs for Bitcoin, Ethereum, Solana, Litecoin, and Dogecoin — with optional amount and label so wallets can pre-fill the send screen.
bitcoin:bc1q...?amount=0.01QR capacity is a function of version (the size of the matrix) and error-correction level. The generator picks the smallest version that fits, then shows you how close to the limit you are — so you know when to compress, split, or step the recovery level down.
Each QR version adds 4 modules to the side length, starting at 21×21 for v1 and topping out at 177×177 for v40.
modules = (V − 1) × 4 + 21Encoding compressed bytes as URL-safe Base64 inflates the size by ~33%. Account for this when budgeting payload room.
bytes ≈ ⌈compressed × 1.33⌉Whatever prefix you wrap the data in (domain + path + `#t=`) eats into the byte budget. Shorter prefixes = more room for content.
available = capacity − URL prefixScans instantly on virtually any camera, including older phones held at a distance.
Reliable for everyday digital and printed use. Most modern phones handle this in one tap.
Modules are small — works on good cameras, but expect occasional retries on cheap or angled scans.
Near the format limit. Best avoided for printed materials; consider compressing or splitting the payload.
| Version | Modules | L | M | Q | H |
|---|---|---|---|---|---|
| v1 | 21² | 17 | 14 | 11 | 7 |
| v5 | 37² | 106 | 84 | 60 | 44 |
| v10 | 57² | 271 | 213 | 151 | 119 |
| v15 | 77² | 520 | 412 | 292 | 220 |
| v20 | 97² | 858 | 666 | 482 | 382 |
| v25 | 117² | 1273 | 1003 | 715 | 535 |
| v30 | 137² | 1732 | 1423 | 982 | 754 |
| v35 | 157² | 2303 | 1812 | 1322 | 1022 |
| v40 | 177² | 2953 | 2331 | 1663 | 1273 |
QR codes embed redundant data so they can be read even when part of the symbol is damaged. The level you choose controls how much of the code can be lost before scanning fails — and how much room is left for actual content.
Up to about 7% of the code can be recovered. Use only when payload size is tight and the QR will live somewhere safe (a screen, a fresh print).
Up to about 15% — the safe default for most digital and printed use cases.
Up to about 25%. Good choice for outdoor posters, stickers, or anywhere scratches and smudges are likely.
Up to about 30%. Required if you overlay a logo in the center — the logo eats a chunk of the data area, and H lets the rest stay readable.
Replace a printed menu with a QR that opens the live page. Update the menu in your CMS without reprinting anything.
Embed a ticket ID or attendee URL on a badge. Scanners at the door verify the ID against your system in milliseconds.
Print the Wi-Fi QR on a tent card. Guests join without dictating a 20-character password or mistyping the SSID.
A vCard QR on a card or email signature lets anyone save your contact info with a single scan — no manual transcription.
A QR (Quick Response) code is a 2D barcode invented by Denso Wave in 1994 to track car parts. It encodes data in a square grid of dark and light modules. Three large 'finder' squares in the corners let a scanner locate and orient the code regardless of angle; smaller alignment patterns correct for perspective. The standard supports numeric, alphanumeric, byte, and Kanji modes — and Reed–Solomon error correction lets the symbol survive partial damage. The QR you see here is generated entirely in your browser; nothing about your content is uploaded.
Yes. QR Code is an open standard (ISO/IEC 18004) and the codes generated here have no licensing restrictions on use.
Static QR codes never expire — the data is baked into the pattern. Anything you link to (a URL, a server) can of course go away, but the QR itself is forever.
As a rule of thumb the printed code should be at least 10× the size of one module. For most use cases that means a minimum 2 × 2 cm on paper, larger if it'll be scanned from a distance.
No. All encoding and rendering runs in your browser through a small library — there's no server call, no telemetry, no analytics.
Format megabytes of JSON in milliseconds.
Data never leaves your browser for maximum privacy.
Works perfectly even without an internet connection.