https://example.com as a sample, so replace it with your own link or text.qr-code.png.The code is built on your device by the open-source qrcode-generator JavaScript library, loaded from a public CDN. The text you type is not sent to our server or to any QR service.
Paste the full address, including https://. Phone cameras show the link and open it in the browser.
There is no separate WiFi form, but you can type the standard WiFi format into the box. Most phones will then offer to join the network when they scan it:
WIFI:T:WPA;S:MyHomeWiFi;P:my-password;;
WPA for WPA, WPA2, and WPA3 networks, WEP for very old routers, or nopass for an open network (then leave out the P part).; , : \ or ", put a backslash before it. The password abc;123 becomes P:abc\;123.Anyone who scans the code can read the password.
tel:+15551234567 opens the dialer. mailto:name@example.com opens a new email.
A QR code is a grid of small squares. More characters need more squares. These are the grid sizes this tool makes:
| What you type | Characters | Grid | Pixels per square at 300 px |
|---|---|---|---|
https://example.com | 19 | 25 × 25 | 9 |
| A normal page link, like this page's address | 49 | 33 × 33 | 7 |
| A short paragraph | 100 | 41 × 41 | 6 |
| A long paragraph | 300 | 69 × 69 | 3 |
| About half a page of text | 1,000 | 121 × 121 | 2 |
| The maximum | 2,331 | 177 × 177 | 1 |
At the same print size, more squares means smaller squares, and small squares are harder for a camera to see. So keep links short. Remove tracking parts such as ?utm_source=... if you do not need them. If you use a link shortener, remember that the printed code stops working if that service deletes the link or shuts down. For anything longer than a short link, pick 400 or 500 px. If each square gets fewer than 3 pixels, the tool shows a note under the code and suggests a bigger size.
Every QR code stores backup data, so a scanner can still read it when part is dirty, scratched, or hidden by glare. There are four levels:
A higher level adds more backup data, so the same text needs more squares. This tool always uses level M, and you cannot change it. M works well for paper, stickers, and screens. Because it only covers about 15%, do not put a large logo over the middle of the code. Codes with a logo in the center usually use level H.
A common guideline is to make the code about one tenth as wide as the distance people will scan it from:
Codes with long text need more room. The 500 px option gives a file about 500 pixels wide. At 300 DPI that prints sharp up to about 4 cm. At 150 DPI it is fine up to about 8 cm. Bigger than that, the edges get a little soft. Scanners usually still read them, but test a printed copy.
Scanners look for dark squares on a light background. Pick a dark color such as black, navy, dark green, or dark red. Avoid yellow, light gray, and pastel colors. They are too close to white. The tool checks this for you. It works out the contrast between your color and white, using the same formula as the web accessibility guidelines (WCAG). Black on white is 21:1. If your color is below 4.5:1, a warning appears, but the tool still makes the code.
The standard also asks for an empty light border, called the quiet zone, around the code. It should be at least four squares wide. The PNG from this tool already includes this white border. Do not crop it off. When you place the code on a colored background or a photo, keep the white border around it.
No. These are static codes. The link or text is stored inside the image itself, so we cannot change or switch off your code. A printed code for a link only stops working if the web address stops working, for example if the page moves or the domain is not renewed. So link to a page you control. The other side: you cannot edit a static code after printing. Paid "dynamic" codes let you change the target, but they stop working if you stop paying.
No. The code is made in your browser by the qrcode-generator JavaScript library. Your browser downloads that library from a public CDN when the page opens, but the text you type is not sent to our server or to any QR service. We keep no copy of your codes.
Yes, but there is no separate WiFi form. Type the standard WiFi format into the Text or URL box, for example WIFI:T:WPA;S:MyHomeWiFi;P:my-password;; and replace the network name and password with your own. Use nopass instead of WPA for an open network. Anyone who scans the code can read the password.
No. The tool saves a PNG file only, in four sizes from 200 to 500 pixels. The background is always white. You can change only the color of the dark squares. Keep that color dark so the code has strong contrast. The tool shows a warning if the color is too light.
Each small square in the code gets the same whole number of pixels, so the edges stay sharp. The image also has a white border four squares wide. A normal page link makes a grid of 33 × 33 squares, or 41 × 41 with the border. At 300 px, each square gets 7 pixels, and 41 × 7 = 287. Long text at the 200 or 300 px size can give only 1 or 2 pixels per square, so pick 400 or 500 px for long content. The tool shows a note under the code when a square gets fewer than 3 pixels.
The tool shows a message that the text is too long, and no code is made. The most it can fit is 2,331 characters of English text. Nepali, Hindi and other non-Latin letters take three times the space, so the limit for them is about 777 letters. Shorten the text and click again.
No. They are static codes. The link or text is stored inside the image, and no server is involved when someone scans it. A printed code for a link keeps working as long as that web address works. The trade-off is that you cannot change the content after printing. You need to make and print a new code.