QR Code Generator
Make QR codes for links, text, contacts, Wi-Fi and payments, with your colours and logo. Static codes that never expire.
Design
Higher levels survive more damage but make a denser code.
Your QR code appears here as you type.
Makes a QR code from a link, text, a contact card, Wi-Fi details, a UPI payment, a WhatsApp chat, an email, a phone number, an SMS or a map location, and saves it as a PNG, SVG or print-size PDF. The content is written into the code itself, so it keeps working for as long as the code exists, with no account, redirect or tracking. Everything happens in your browser: the content and any logo never leave your device.
How to use it
- Link โ an address without a scheme gets
https://(http://forlocalhost); one with a scheme, such asmailto:, is kept as typed. - Contact โ a vCard 3.0 that phones offer to save to contacts. At least a first or last name is needed; Download .vcf saves the same card as a file.
- Wi-Fi โ the network name, password and security type, which phone cameras use to join the network. The Wi-Fi QR Code Generator explains each field and makes a guest card to print.
- UPI โ a UPI ID and payee name, with an amount and a note if you add them, for any UPI app to pay. The UPI QR Code Generator explains each field and makes a Scan & Pay poster to print.
- WhatsApp โ opens a chat with a number, with a message filled in if you add one, through a
wa.melink. The WhatsApp Link Generator explains how numbers are written. - Email, Phone and SMS โ open a new email, a call or a text with the details filled in. The person scanning still chooses to send or call.
- Location โ latitude and longitude, or read from a pasted Google Maps link. It is encoded as a Google Maps link, which every phone camera opens; the
geo:form is not opened by the iPhone camera.
Scans as, under the code, shows exactly what a phone reads from it. The test read draws the code small and slightly blurred, then reads it back with a standard reader: a design that fails it is likely to fail on some phones too. Passing it is a good sign, not a guarantee for every camera.
Error correction adds redundancy, so a code still reads when part of it is damaged or covered: about 7%, 15%, 25%, 30% for L, M, Q, H. Higher levels make a denser code with smaller modules at the same size. M is the default; a logo locks it at H and covers at most 20% of the code, and in small codes less, to keep clear of the corner squares readers need whole.
Print width (default 40 mm) sets the PDF's size and shows each module's printed size. Below 0.4 mm per module, the tool warns that the code may not scan reliably: a rule of thumb for phone cameras, since the standard leaves size to the use. PNG sizes are whole pixels per module, so every edge stays sharp. The design is remembered on this device; the content is not.
Static and dynamic QR codes
A static code, like these, holds the content itself. A dynamic code, sold by many QR services, holds a short link to the service, which redirects to your page: you can change the destination and count scans, but the code stops working if the service closes or the plan ends, and each scan passes through the service.
A code grows with its content: version 1 is 21 modules a side, each version adds 4, up to 177 at version 40. Digits pack most tightly, then capital letters, then everything else as bytes of UTF-8, so accented letters, Hindi and emoji take two to four bytes a character. The tool mixes these modes within one code where that makes it smaller.
Examples
A contact card
- First name
- Asha
- Last name
- Rao
- Mobile
- +91 98765 43210
- asha@example.com
- Organisation
- Rao Design
- Scans as
BEGIN:VCARD VERSION:3.0 N:Rao;Asha;;; FN:Asha Rao ORG:Rao Design TEL;TYPE=CELL:+919876543210 EMAIL;TYPE=INTERNET:asha@example.com END:VCARD
The phone number loses its spaces, and the name is written twice: N holds it in parts, last name first, and FN as it is shown.
A location from a Google Maps link
- Google Maps link
- https://www.google.com/maps/place/Gateway+of+India/@18.9219841,72.8320731,17z/data=!3m1!4b1!4m6!3m5!1s0x3be7d1c73a0d5cad:0xc70a25a7209c733c!8m2!3d18.9219841!4d72.834648
- Scans as
- https://maps.google.com/?q=18.9219841,72.834648
The link holds two points: the map's centre after @ and the place's pin after !3d and !4d. The tool takes the pin.
How much a QR code holds
| Error correction | Digits only | AโZ, 0โ9 and $%*+-./: space | Bytes (any text) |
|---|---|---|---|
| L (7%) | 7,089 | 4,296 | 2,953 |
| M (15%) | 5,596 | 3,391 | 2,331 |
| Q (25%) | 3,993 | 2,420 | 1,663 |
| H (30%) | 3,057 | 1,852 | 1,273 |
Frequently asked questions
https://example.com makes a code 33 modules across with its margin, so it reaches 0.4 mm per module at 14 mm wide; longer content needs more. Keep the margin clear, print dark on light, and check the test read after changing the design.See also
- Wi-Fi QR Code Generator โ for a Wi-Fi code with a printable card for guests.
- UPI QR Code Generator โ for a UPI payment code with a printable Scan & Pay poster.
- WhatsApp Link Generator โ for a WhatsApp link to share on its own, with HTML for a web page.
- QR Code Scanner โ to read a QR code from your camera or a screenshot, and see where a link leads before opening it.
- Barcode Generator โ for EAN, UPC, Code 128 and ISBN barcodes for products and stock.