QR Code Generator
Create a QR code for a link, email, text, call, SMS, WhatsApp chat, WiFi network, contact card, or event — all from one tool, with custom colors and a logo.
Did this tool work for you?
How to use this calculator
- 1
Choose the QR code type — website, email, text, call, SMS, WhatsApp, WiFi, contact card, or event.
- 2
Fill in the fields for that type — the form updates automatically based on your selection.
- 3
Optionally set a foreground/background color and upload a logo to place in the center.
- 4
Download the PNG and use it anywhere — print, packaging, presentations, or your website.
Frequently asked questions
Which QR types does this tool create, and what does each contain?
Nine: link, email, plain text, phone call, SMS, WhatsApp, WiFi, contact card and event. A link is a web address (https:// is added if missing), email is mailto:, call is tel:, SMS is sms:, WhatsApp is a wa.me address, WiFi is a WIFI: string, a contact is a vCard 3.0 block and an event is an iCalendar VEVENT. The table on this page shows a payload for each.
Does adding a logo change the error-correction level?
Yes. The page uses level M, which recovers roughly 15% of damaged data, when there is no logo, and level H, roughly 30%, as soon as a logo is uploaded. The logo is drawn at 22% of the code’s width on a square patch in the background colour. Test the finished image with more than one phone.
What colours can I choose and how do I keep it scannable?
Any foreground and background colour from the colour pickers. The defaults are a dark #111827 on white #ffffff. The tool does not measure contrast for you, so keep the two colours strongly different, normally a dark foreground on a light background, and scan a test print before using it.
How are phone numbers cleaned?
For Phone call and SMS, a leading + is kept and every other non-digit is removed, so +1 (415) 555-2671 becomes tel:+14155552671. For WhatsApp all non-digits are removed, including the +, because wa.me addresses want digits only: +91 98765 43210 becomes https://wa.me/919876543210. In the contact card the phone is written as typed.
How are special characters in WiFi names and passwords handled?
Backslash, semicolon, comma, double quote, apostrophe and colon are each escaped with a backslash, so the password pa:ss;word is written as pa\:ss;word. For an open network the password field is dropped and the type is written as nopass. The tool cannot know your real password or security type, so a mismatch will simply fail to connect.
How does the event type handle dates and time zones?
The start and end text are read by the browser’s date parser in the time zone of the device where you use the tool, then written in UTC with a trailing Z. A blank or unreadable end time falls back to the start time. A title and a start time are required, and an unreadable start gives no QR code.
Does this produce a dynamic QR code I can edit later?
No. Everything you enter is written into the image, so changing the destination later means making and distributing a new code. The tool also keeps no history of what you made.
What is left blank or rejected?
Each type needs one key field: URL, email address, text, phone number, WiFi network name, contact name, or event title and start. With that field empty, no QR code is drawn. Email addresses, URLs and vCard fields are otherwise not format-checked.
Nine QR code types and the text inside each
Payload per type, produced by the tool
A QR code holds text, and the type menu only decides which text format is built from your fields. The table below shows what the tool outputs for sample entries. Optional fields that you leave blank are left out, and parameters in links such as email subject, SMS message and WhatsApp text are percent-encoded. Whether a phone offers to compose, call, join or save depends on its scanning app.
| Type | Input summary | Payload |
|---|---|---|
| Link | example.com/menu | https://example.com/menu |
| hello@example.com, subject Quote request | mailto:hello@example.com?subject=Quote%20request | |
| Plain text | Table 12 - Wi-Fi: guest | Table 12 - Wi-Fi: guest |
| Phone call | +1 (415) 555-2671 | tel:+14155552671 |
| SMS | +14155552671, message Hi, I’d like to place an order. | sms:+14155552671?body=Hi%2C%20I'd%20like%20to%20place%20an%20order. |
| +91 98765 43210, message Hi! | https://wa.me/919876543210?text=Hi! | |
| WiFi | OpenNet, no password | WIFI:T:nopass;S:OpenNet;P:;;H:false; |
| Contact card | Jane Smith, Acme | BEGIN:VCARD / VERSION:3.0 / N:Smith;Jane;;; / FN:Jane Smith / ORG:Acme / END:VCARD (one item per line) |
| Event | Product Launch Party, 2026-12-31 18:00 to 22:00, UTC device | BEGIN:VCALENDAR ... DTSTART:20261231T180000Z DTEND:20261231T220000Z ... END:VCALENDAR |
Worked examples
The WiFi type with network Cafe;Guest, security WPA, password pa:ss;word, visible, gives WIFI:T:WPA;S:Cafe;Guest;P:pa\:ss;word;H:false; so the semicolons and colon survive. The contact type with Jane Smith, company "Acme, Inc", title Marketing Manager, phone +91 98765 43210, email jane@acmecorp.com and website https://acmecorp.com gives a vCard with the line ORG:Acme\, Inc, TEL:+91 98765 43210 and URL:https://acmecorp.com. The email type with subject "Quote request" gives mailto:hello@example.com?subject=Quote%20request.
Colours, contrast and the logo
Two colour pickers set the dark modules and the light background. The download is a 512 pixel PNG with a 2-module quiet margin. Choose a clearly darker colour for the foreground, since the tool does not warn about weak contrast. A logo is placed in the centre at 22% of the width on a patch of the background colour, and error correction rises from M to H whenever a logo is present. That gives the code roughly 30% recovery capacity, but a large or busy logo can still hide too much, so scan the final PNG on two or three phones.
Choosing a type
Link is the usual choice for menus, pages and forms, since a page can change while the code does not. Contact card suits a business card, and WiFi suits a guest-network sign. WhatsApp and SMS save typing a number and can carry a first message. Plain text carries anything that does not fit the other eight. Event fits invitations, with the caveat that its time zone behaviour follows the device you create it on.
Limits worth knowing
The code is static: the tool does not host pages, store codes, count scans, shorten links or make editable destinations. More content means a denser pattern, so a contact card or event with a long description needs a larger print size than a short link. Contact cards are written in vCard 3.0 with only name, company, title, phone, email and website, with no address or photo. The scan test on a real phone is the final check.
Learn more from an authoritative source:
WikipediaGoogle Review QR Generator
Create a branded "Leave us a Google Review" card with a QR code — ready to print and display anywhere.
UPI QR Generator
Generate a UPI payment QR code for your business or personal payments — compatible with GPay, PhonePe, Paytm, and all UPI apps.
Menu QR Generator
Generate a QR code that links to your digital menu — perfect for restaurants, cafés, and food trucks.
Instagram QR Generator
Generate a QR code that opens your Instagram profile instantly — for packaging, flyers, events, and more.
YouTube QR Generator
Generate a QR code that opens your YouTube channel or a specific video — great for print, packaging, and events.
Google Maps QR Generator
Generate a QR code that opens your business location in Google Maps — for cards, flyers, and storefronts.
Results are estimates for informational purposes only and do not constitute professional financial, medical, legal, or technical advice. Read full disclaimer →