Website
The link exactly as typed. A bare domain such as example.com gets https:// in front, because cameras only offer to open text they recognise as a URL.
https://example.com/menuPick what the code should do, style it, and every change is decoded again before you download — so a logo or a pale colour never ships a code that phones cannot read.
Paste links or text, one per line, or load a CSV or Excel (.xlsx) file: column 1 is the content, column 2 an optional file name, column 3 an optional label printed under the code. Up to 2,000 codes, all in the current style.
The template replaces the frame and label.
Codes are drawn and verified in this tab. What you type is never sent anywhere, and the code points straight at your content — no redirect service in between.
A QR code stores plain text. Phones decide what to do with it by recognising a few conventions, so the option you choose changes the text, not the pattern. Here is the exact form each one uses — open "Exact text inside the code" above to see yours.
The link exactly as typed. A bare domain such as example.com gets https:// in front, because cameras only offer to open text they recognise as a URL.
https://example.com/menuAny text, stored as UTF-8 bytes. At level L a single code holds up to 2,953 bytes; higher levels hold less, and non-Latin characters take two to four bytes each.
Table 12 · ask for the daily specialThe WIFI: format that Android and iOS 11+ cameras understand. Backslashes, semicolons, commas, colons and double quotes in the name or password are escaped for you — the most common reason hand-written Wi-Fi codes fail. Choose WPA for WPA and WPA2 networks; a WPA3-only network uses SAE, which older phones may not recognise.
WIFI:T:WPA;S:Cafe\;Guest;P:espresso\:42;;A vCard 3.0 contact. Each filled field makes the pattern denser, so leave out what the person scanning will not need.
BEGIN:VCARD
VERSION:3.0
N:Lovelace;Ada;;;
FN:Ada Lovelace
ORG:Analytical Engines\, Ltd
TEL;TYPE=CELL:+442079460000
END:VCARDA mailto: link with subject and body percent-encoded (RFC 6068). Scanning opens a draft; nothing is sent until the person taps send.
mailto:hello@example.com?subject=Order%20%2342An sms: link with the message in ?body= (RFC 5724). The messaging app opens with the text filled in and still waits for the person to send it.
sms:+18005551212?body=JOINA tel: link (RFC 3966). Include the country code, such as +44 or +1, so it dials correctly from abroad. Scanners are expected to fill the dialer, not place the call.
tel:+12125551212A WhatsApp click-to-chat link (wa.me) with an optional pre-filled message. The number must be in international format with the country code — a local number starting with 0 would open a chat with the wrong person, so it is rejected.
https://wa.me/34612345678?text=HolaOpens your LINE Official Account so people can add you as a friend. LINE requires the @ in the account ID to be encoded, which is done for you. Personal LINE IDs have no documented link format and are not supported.
https://line.me/R/ti/p/%40yourshopOne iCalendar VEVENT. Times are converted to UTC so the event lands at the right hour in any time zone; all-day events end on the following day, because the standard treats the end date as exclusive.
BEGIN:VEVENT
SUMMARY:Open day
DTSTART;VALUE=DATE:20261010
DTEND;VALUE=DATE:20261011
END:VEVENTA geo: URI (RFC 5870) or a Google Maps search link. geo: opens a map app that supports it; the web link opens in any browser, the safer choice when you do not know which phones will scan it.
geo:48.8584,2.2945A reader locates a QR code by its three corner squares, then samples the centre of every module to decide dark or light. That is why dots, diamonds and rounded modules scan as well as squares, and why the corner eyes can take a different shape or colour as long as they stay solid and clearly darker than the background. Gradients work when both ends are dark; a gradient that fades into a pale colour makes half the code unreadable. A frame with a short instruction such as "Scan for the menu" tells people what they will get before they reach for their phone, and it is drawn outside the quiet zone so it never touches the modules. Every preset on this page is checked by the same decoder that runs after each change.
Levels L, M, Q and H let a reader recover roughly 7, 15, 25 and 30 percent of damaged codewords. The price is space: the same content at H needs a larger, denser pattern than at L. M suits clean prints and screens. Use Q or H for codes that get scuffed or sit behind glossy lamination — and H is mandatory once a logo covers the centre.
Batch mode turns a list, CSV or Excel sheet into up to 2,000 codes in one style. For stickers, asset tags or table cards, choose the A4 label sheet: codes are laid out in a 2 × 3 to 5 × 7 grid, each rendered at 300 dpi for its cell, with the label from your third column printed underneath. Print at "Actual size" or 100 % — "Fit to page" shrinks every code — and scan a few from the printed sheet before you cut the whole run.
These codes contain your content directly. No short link or tracking server sits in the middle, so the code works for as long as the destination does and cannot be switched off by a subscription ending. The flip side is that a printed code cannot be edited. If you might change the destination later, encode a link on your own domain that you can redirect yourself. Keep the quiet zone at 4 modules, which the QR standard requires, and test the printed result with at least two different phones.
No. The content is stored in the pattern itself, so nothing can switch it off. A link keeps working as long as the website behind it does.
Not with a static code. If you may need to change it, encode a link on your own domain and redirect that link later — you keep control without a paid dynamic-code service.
A widely used rule of thumb is a width of about one tenth of the scanning distance: around 2 cm on a business card read at 20 cm, 10 cm on a poster read from a metre. Dense codes with a lot of content need more, so test at the real distance.
Usually low contrast, a light code on a dark background, a logo that is too large, or a quiet zone set to zero. The check under the preview decodes every change and tells you when a design stops working.
No. Codes are drawn in this browser tab. There is no account, no redirect server and no scan tracking in between.
Almost every QR code ends up on something physical — a menu, a flyer, a label, a business card — and gets scanned months later by a phone held at an angle in poor light. That makes the useful decisions about durability rather than decoration: how much you put in the code, how large it will print, how far away people will stand, and whether the destination will still exist after the thing is printed.
A link copied from an analytics dashboard often carries a long tail of utm_ parameters. Every extra character adds modules, and a denser code needs to be printed larger to scan from the same distance. Keep only the parameters you will actually read, and watch the version number in the preview drop as you trim.
Testing on screen with the phone a few centimetres away proves the content is right, not that the print will work. Distance, glare and a curved surface all cut the pixels a camera gets per module. Print a proof at the real size, stick it where it will live, and scan it from where people will actually stand, with more than one phone.
Anyone can put any logo in the middle of a code, and people have learned that. The logo helps recognition, not security. What reassures a careful scanner is a destination on a domain they already know, so encode your own domain rather than a third-party short link whenever you can.