Make a QR code for a website, your Wi-Fi network, a phone number, an email, a text message or a contact card, and download it as a sharp PNG or a print-ready SVG. The code is generated entirely in your browser and is static: what you type is written straight into the pattern, so there is no account, no tracking redirect and no subscription that can switch your code off later. Nothing you enter is uploaded.
How it works
A QR code stores data in a square grid of dark and light modules. Pick what the code should open and fill in the fields; the tool turns them into the text format phones understand and redraws the code as you type. If a web address has no https://, it is added, because some scanner apps treat a bare "example.com" as plain text. For Wi-Fi the code holds WIFI:T:WPA;S:network;P:password;; – the format the iPhone and Android cameras use to join a network in one tap – and special characters in the name or password (\ ; , : ") are escaped for you. Email, phone and SMS become mailto:, tel: and SMSTO: links that open a pre-filled message or the dialer, and a contact becomes a small vCard (name, phone, email, company) that phones offer to save. Text is encoded as UTF-8, so accents, non-Latin scripts and emoji survive. The more you encode, the bigger the grid: a short URL fits in 25 × 25 modules, while the largest code (version 40, 177 × 177) holds about 2,900 bytes at the lowest error correction. Error correction adds redundancy so a scratched, dirty or partly covered code still scans: L restores about 7% of the data, M 15%, Q 25% and H 30%. M is a good default; choose H if a logo will go over the middle. The quiet zone is the blank margin scanners use to find the code's edges, and the standard (ISO/IEC 18004) asks for at least 4 modules. The PNG is drawn at exactly the size you pick, with every module edge on a whole pixel, so it stays crisp on screens, in documents and in messages. For print, download the SVG: it is a vector, so it is as sharp on a business card as on a poster. Static vs dynamic: many QR sites hand out "dynamic" codes that point to a short link on their own servers, so they can count scans and let you change the destination. The catch is that the code only works as long as that company and your plan do. A static code like the ones made here contains the destination itself and keeps working forever. If you may need to change the target later, point the code at a page on your own website that you control.
Worked example
A café wants a code for its menu at bistro-example.com/menu. Typing the address without https:// is fine: the tool encodes https://bistro-example.com/menu (31 characters), which at the default M level is a version 3 code of 29 × 29 modules; with the 4-module quiet zone on each side, the image is 37 modules wide. On the table cards the code will be 3 cm (about 1.2 in) wide, so each module is about 1 mm – plenty for a phone held at arm's length. A rule of thumb is that a code scans from up to about ten times its width, so 3 cm works at 30 cm, while a window poster read from 2 metres needs a code at least 20 cm wide. The café downloads the SVG for the printer. Before ordering 40 cards, they print one copy on the office printer, scan it with an iPhone and an Android phone, and check that it opens the right page.