QR Code Types and Real-World Uses
A QR code is ultimately just a way to encode text into a scannable image. What that text contains determines what happens when someone scans it. Here's a practical breakdown of every major QR code type and when to use each one.
URL / Website link
The most common QR code type. The code encodes a full URL (e.g., https://example.com/menu), and scanning it opens that URL in the device's default browser.
Best for: Linking print materials to web content — restaurant menus, product packaging that links to instructions or videos, event flyers linking to ticketing pages, business cards linking to portfolios or LinkedIn profiles, outdoor signage, and anywhere you want a physical object to trigger a web action.
Key consideration: The URL you encode is permanent. If you later need to change the destination, you'll need to reprint the QR code — unless you use a redirect URL you control. If longevity matters (product packaging, signage), point the QR code at a URL on a domain you own and control the redirect from there. This way you can update the destination without reprinting.
Encode only what's needed: HTTPS URLs with lowercase characters are encoded in "byte" mode. Short URLs encode to smaller, less dense codes that are easier to scan at small print sizes. A URL shortener (including your own domain's redirect) can help here.
Plain text
The simplest type: the code encodes raw text, and scanning it displays that text directly in the scanning app.
Best for: Offline information that doesn't require internet access — a brief product description, operating hours, a room number, a security code, an access PIN. Text QR codes are also useful for encoding machine-readable identifiers in industrial or logistics contexts.
Key consideration: Most smartphone cameras pass the text to an app that can do something with it — often offering to copy it to the clipboard, search for it, or open it as a URL if it looks like one. Keep the text short and purposeful. If you're encoding a phone number or email address, use the Call or Email type instead, which triggers the appropriate native action on the device.
An email QR code encodes a mailto: URI, optionally including a pre-filled subject line and body. Scanning it opens the device's email client with those fields pre-populated, ready to send.
Best for: Customer feedback prompts, conference networking (scan to email the speaker), support contact links, and any situation where you want to make it easy for someone to compose a specific email without typing.
Key consideration: The mailto: format is supported by all major mobile operating systems. However, if the user hasn't set up a default email client on their device (increasingly common among people who use web-based Gmail), scanning may not work as expected. Consider whether your audience is likely to have a mail client configured.
Pre-fill the subject and body sparingly — a one-line subject is helpful, but a pre-filled body can feel presumptuous. Leave room for the person to write something genuine.
Phone call
A call QR code encodes a tel: URI. Scanning it prompts the device to initiate a phone call to the encoded number.
Best for: Business contact information on cards or storefronts, customer service lines on product packaging, emergency contact information on medical or safety equipment, helpline numbers on community resources.
Key consideration: Always include the full international format with country code (e.g., +15551234567) rather than a local format. A local number that works in one country will fail to dial correctly on devices with SIM cards from other countries. Devices universally display a confirmation dialog before placing the call, so accidental calls are prevented.
SMS
An SMS QR code encodes an smsto: URI with a phone number and optional pre-filled message body. Scanning opens the device's messaging app with the recipient's number and message pre-filled.
Best for: Short code opt-in campaigns ("Scan to subscribe to our SMS alerts"), voting systems, competition entries, event check-ins via text, and feedback collection where email is overkill.
Key consideration: SMS is natively supported on all mobile devices without requiring an internet connection, making it more reliable in areas with poor data coverage. The pre-filled message is editable before sending, so users can add their own context. Keep pre-filled messages short and purposeful.
A WhatsApp QR code encodes a wa.me link with a phone number and optional pre-filled message. Scanning it opens WhatsApp directly to a new chat with that contact.
Best for: Businesses that use WhatsApp as a primary customer communication channel, especially in markets where WhatsApp dominates (Latin America, Europe, India, Southeast Asia, and Middle East). Storefronts, packaging, and service businesses in those markets often get significantly higher engagement through WhatsApp than through traditional SMS or email.
Key consideration: WhatsApp must be installed on the scanning device. If your audience is primarily in the United States where WhatsApp adoption is lower, consider SMS instead. Always include the country code without the leading + in the wa.me URL format (e.g., wa.me/15551234567).
Wi-Fi credentials
A Wi-Fi QR code encodes a WIFI: string containing the network name (SSID), password, and encryption type. Both iOS (since iOS 11) and Android (since Android 10) can scan this code with the native camera app and automatically join the network — no typing required.
Best for: Guest network access in offices, hotels, cafés, retail stores, event venues, and homes. A framed Wi-Fi QR code at a reception desk or on a table tent eliminates one of the most common friction points for guests and customers.
Key consideration: Treat your Wi-Fi QR code like your password — anyone who scans it gets network access. For guest networks, this is usually fine. For corporate networks with sensitive data, restrict the QR code's physical distribution accordingly. If you change your Wi-Fi password, you'll need to generate and replace the QR code.
The encryption type field should match your router's actual setting (WPA2 is most common on modern networks). If you're unsure, check your router's admin panel. Selecting the wrong encryption type can prevent devices from connecting even if the password is correct.
vCard (contact information)
A vCard QR code encodes a contact record in the vCard 3.0 format, including name, phone, email, company, website, and notes. Scanning it prompts the device to add a new contact with all those fields pre-filled.
Best for: Business cards (the QR code is the digital equivalent of physically handing someone your card), name badges at events or conferences, email signatures, and profile pages where you want people to add you to their contacts in a single tap.
Key consideration: vCard QR codes can get large quickly because contact records contain multiple fields, each with field name prefixes. Keep optional fields genuinely optional — a code with name, phone, and email is smaller and easier to scan than one with every possible field filled in. If your vCard code starts scanning unreliably, try removing the optional note or simplifying the fields.
The phone number should be in international format. The website URL should include the full scheme (https://). After generating, test the scan result on both iOS and Android to verify each field populates correctly in the native Contacts app.
Choosing the right type
The single most useful rule: encode the action you want, not just the information. Instead of encoding a phone number as plain text (which the user then has to copy and dial manually), use the Call type. Instead of encoding an email address as plain text, use the Email type. Native action types reduce friction and increase the likelihood that someone who scans your code will complete the intended action.
If you're unsure which type to use, default to URL. A well-designed landing page at a URL you control can do everything the other types do — and more — while giving you the flexibility to update the content later without reprinting the code.
Ready to create? Use the QR code generator →
