How do you create a QR code?
Choose a content type, fill in the fields, and download the code. No account or install is needed, and it usually takes less than a minute.
- Choose a content typeLink, text, Wi-Fi, contact, WhatsApp, phone, SMS, email, location or event.
- Fill in the detailsThe code updates as you type, and the content stays in your browser.
- Style it if you likeColors, gradient, shapes, logo and margin. A warning appears if a choice makes scanning harder.
- Download and testPNG at the size you need, SVG for print, or copy to the clipboard. Before printing, scan the code on at least two devices.
What is a QR code?
A QR code is a two-dimensional barcode that holds text, a link or other data, and that a phone camera can read. The Japanese company Denso Wave developed it in 1994, and it is defined by the international standard ISO/IEC 18004.
A code is made of small squares called modules. There are 40 versions, from 21×21 modules in version 1 to 177×177 in version 40. More data means a higher version and a denser code. The maximum capacity is 2,953 bytes, which is about 2,953 English characters or 1,476 Hebrew letters, since each Hebrew letter takes 2 bytes in UTF-8.
The error correction level sets how much of the code can be recovered if part of it is damaged:
| Level | Approx. recovery | Max capacity | Good for |
|---|---|---|---|
| L | 7% | 2,953 bytes | Lots of data, on a screen or clean paper |
| M | 15% | 2,331 bytes | The default for most uses |
| Q | 25% | 1,663 bytes | Signs, and places where the code may get dirty |
| H | 30% | 1,273 bytes | Codes with a logo |
What is the difference between static and dynamic QR codes?
A static code holds the content inside the code itself, so it works without any outside service but cannot be changed after printing. A dynamic code holds a short link to a redirect service, so the destination can be changed, but it stops working if the service or subscription ends.
| Static (this tool) | Dynamic | |
|---|---|---|
| Where the content lives | Inside the code | On the service's server |
| Lifetime | No built-in expiry | Depends on the service and plan |
| Change destination after printing | Not possible | Possible |
| Scan tracking | None | Usually included |
| Without internet | Wi-Fi, text and contacts read with no network | Needs a network on every scan |
Want a static code with a destination you can change? Encode a link to a page on your own site, then change the page or its redirect. The code keeps working as long as that address exists.
What size should a QR code be printed, and how do you make sure it scans?
The rule of thumb is at least 2×2 cm, and a width of one tenth of the scanning distance. A code scanned from 1 meter should be about 10 cm wide. A dense code needs to be larger. The tool shows a minimum size estimate based on your code's module count.
| Scan distance | Suggested width | Example |
|---|---|---|
| Up to 20 cm | 2 cm | Business card, packaging |
| 50 cm | 5 cm | Menu, flyer |
| 1 m | 10 cm | Poster, counter |
| 3 m | 30 cm | Store signage |
| 10 m | 1 m | Billboard |
- Contrast: a dark code on a light background. Light-on-dark codes fail in many scanners.
- Margin: the standard requires 4 modules of empty space on every side. That is the default here.
- File: SVG for print, because it is vector and stays sharp. PNG for screens and documents.
- Surface: matte paper beats glossy finishes that reflect light, and flat beats curved.
- Testing: scan the actual printed code, on at least two devices, from the real distance.
On iPhone the system camera has read QR codes since iOS 11. On Android, most recent devices scan from the camera, or you can use Google Lens.
How is each content type encoded?
Each content type is written in a format phones recognize, so scanning opens the right action rather than just showing text. You can see the exact content under "What exactly is encoded?" next to the code.
| Type | Format |
|---|---|
| Wi-Fi | WIFI:T:WPA;S:name;P:pass;; |
| vCard | BEGIN:VCARD / VERSION:3.0 |
https://wa.me/12025550123?text=… | |
| Phone | tel:+12025550123 (RFC 3966) |
| SMS | sms:+12025550123?body=… (RFC 5724) |
mailto:a@b.co?subject=… (RFC 6068) | |
| Location | geo:51.5074,-0.1278 (RFC 5870) |
| Event | BEGIN:VEVENT (RFC 5545) |
Is what I type sent to a server?
No. The code is generated by JavaScript in your browser, and what you type is not sent anywhere, including Wi-Fi passwords and logos. The site has no analytics, cookies or ads.
- As with any website, the server and Cloudflare see the request to load the page itself (such as IP address and browser), but not what is typed into it.
- Your design choices are saved in localStorage on your own device. Field contents, passwords and logos are not saved.
- The "My location" button uses your browser's location service, only if you press it and allow it.
- You can check this yourself: open the Network tab in developer tools and type. No request appears.
Frequently asked questions
Is this generator really free?
Yes. There is no signup, usage limit, watermark or ads, and you can use the codes commercially.
Will my code stop working one day?
A static code has no built-in expiry and does not pass through any service of ours. It only stops being useful if its destination changes, for example if the website closes or the Wi-Fi password is replaced.
Can I change a code after printing it?
No. The content is written into the code. If the destination may change, encode a link to a page on your own site, and change that page or its redirect.
Does Hebrew or other non-Latin text work?
Yes. Text is encoded as UTF-8, where each Hebrew letter takes 2 bytes. Current scanning apps display it correctly, but it is still worth testing on your audience's devices.
Can I add a logo?
Yes. With a logo the error correction level is raised to H automatically, and the modules under the logo are removed. The default is 22% of the code width, and a warning appears above about 25%. Always test a scan after adding a logo.
Which is better, PNG or SVG?
SVG for print and enlarging, because it is vector and stays sharp at any size. PNG for documents, slides and websites, at sizes up to 4096 pixels.
Does a Wi-Fi code expose the password?
Yes, to anyone who scans it. The password is written in the code as text and can be read, so only display it where everyone may connect, ideally on a guest network.
How many codes can I create?
As many as you like. The tool runs on your device, so there is no quota to enforce.