to generate QR
How to Make a QR Code That Scans
Pick the type, enter the content and the code updates as you type. This generator stores content as UTF-8 bytes, so at the default error correction level M a code holds up to about 2,330 bytes, but short content makes a smaller grid that scans far more easily. Download the PNG, which includes the white margin scanners need, and test it on two phones before printing.
QR Code Capacity by Size and Error Correction
QR codes come in 40 versions. Version 1 is a 21 × 21 grid of modules (squares), and each version adds 4 modules per side, up to 177 × 177 for version 40. The generator picks the smallest version that fits your content. Maximum bytes per version:
| Version | Grid | L (7%) | M (15%) | Q (25%) | H (30%) |
|---|---|---|---|---|---|
| 1 | 21 × 21 | 17 | 14 | 11 | 7 |
| 2 | 25 × 25 | 32 | 26 | 20 | 14 |
| 3 | 29 × 29 | 53 | 42 | 32 | 24 |
| 5 | 37 × 37 | 106 | 84 | 60 | 44 |
| 10 | 57 × 57 | 271 | 213 | 151 | 119 |
| 20 | 97 × 97 | 858 | 666 | 482 | 382 |
| 30 | 137 × 137 | 1,732 | 1,370 | 982 | 742 |
| 40 | 177 × 177 | 2,953 | 2,331 | 1,663 | 1,273 |
These are byte-mode limits. The library behind this page reserves 3 bytes for a UTF-8 marker, so its real limit is 3 bytes lower. Plain English letters and digits take 1 byte each, accented letters 2, most Chinese and Japanese characters 3 and emoji 4. The often quoted 7,089 figure applies only to codes that hold nothing but digits in numeric mode, which this generator does not use.
What Error Correction Costs in Size
Error correction adds redundant data so a code still reads when part of it is scratched, dirty or covered. Level L can restore about 7% of the data, M 15%, Q 25% and H 30%. The price is a denser grid. Take a 100-character URL in this generator (103 bytes with the marker):
| Level | Version | Grid | Good for |
|---|---|---|---|
| L | 5 | 37 × 37 | Screens and clean, large prints |
| M | 6 | 41 × 41 | Most uses (default) |
| Q | 8 | 49 × 49 | Packaging, outdoor signs |
| H | 10 | 57 × 57 | Codes with a small logo on top |
At the same printed size, a 57-module grid has modules about 35% smaller than a 37-module one, so it needs a better camera or a shorter distance. If you want a small print, shorten the URL before raising the error correction.
What Each Code Actually Contains
| Type | Encoded text (example) | What the phone does |
|---|---|---|
| URL | https://calculatorshub.us | Offers to open the page |
mailto:hi@example.com?subject=Hello | Opens a new email | |
| Phone | tel:+15550000000 | Offers to call |
| SMS | sms:+15550000000?body=Hi | Opens a new text message |
| WiFi | WIFI:T:WPA;S:Cafe;P:pa\;ss;; | Offers to join the network |
| vCard | BEGIN:VCARD ... END:VCARD | Offers to save the contact |
In WiFi codes a backslash goes before any ; , : " or \ in the name or password, which the generator now adds for you. WPA covers WPA2 and most WPA3 networks. The password sits in the code as plain text, so treat a WiFi code like the password itself.
How This Generator Works and Your Privacy
The page uses the open-source qrcodejs library (version 1.0.0), which your browser downloads from the cdnjs content network like any other script. The code is then drawn on a canvas on your own device. The URL, WiFi password or contact details you type are not sent to our server or to any QR service, and nothing is stored. Codes are static: they contain your content directly, so they keep working for as long as that content (for example the web page) exists, with no account and no tracking redirect.
Two things the page now does for you: text with emoji or other non-English characters is written as proper UTF-8, and the downloaded PNG gets a quiet zone, the blank margin of 4 modules that scanners need to find the code.
QR Code Guide
mailto: link that opens the mail app with the recipient, subject, and body pre-filled. Phone: encodes a tel: link that prompts a call to the number. SMS: encodes an sms: link that opens the messages app with a pre-filled number and optional message. WiFi: uses the WIFI:T:WPA;S:NetworkName;P:Password;; format that allows phones to join a WiFi network without typing the password (supported on iOS 11+ and Android). vCard: encodes a digital business card in the vCard 3.0 format that can be saved directly to the phone's contacts.WIFI:T:WPA;S:YourNetwork;P:YourPassword;;. When a phone scans it, the OS offers to join that network automatically. On iPhone: use the Camera app (iOS 11+). On Android: most modern phones support it natively. Security considerations: the password is stored in plain text in the QR code data, so anyone who scans the code or reads its data can see the password. Do not share WiFi QR codes publicly for networks that also provide access to sensitive resources. They are ideal for guest networks, restaurants, and temporary setups where the network itself is relatively low-security.