What is a phone QR code?
A phone QR encodes a tel: URI defined in RFC 3966. When scanned, the device opens its dialer with your number ready to call — the user just taps the green call button. It's the friction-removing equivalent of "tap to call" buttons on websites, but it works on printed material where there is no clickable link.
The tel: scheme is supported by every modern smartphone OS and by VoIP apps like FaceTime, Skype, Google Voice, and WhatsApp on platforms where they're registered as the default dialer. That means a single static phone QR works for landline calls, mobile calls, and voice-over-IP routing without any extra setup.
Use cases
- Service businesses — plumbers, locksmiths, taxis, roadside assistance, on flyers and vehicle wraps.
- Real estate signs — call the listing agent in one tap, even from inside a parked car.
- Restaurant menus — reservation line, takeout orders, off-hours catering inquiries.
- Storefront windows — after-hours contact for customers who walk by when you're closed.
- Medical practices — appointment booking lines on prescription pads, business cards, and reminder cards.
- Emergency contact stickers on appliances, equipment, or industrial machinery.
- Vet clinic and pet shelter posters for after-hours lost-pet calls.
- Trade-show signage for booking demo calls.
Static and private
The phone number is encoded inside the QR pattern itself. There is no redirect, no third party, and nothing that can expire. FixedQRCode does not store the number you encode — the rendering server reads it long enough to draw the QR, then forgets it. No call tracking, no virtual numbers, no commission cuts on the conversation.
Static vs dynamic
A dynamic phone QR routes through a third-party service that can track call attempts, swap in a forwarding number, or take a cut of metered calls. A static tel: QR doesn't depend on any server — it works offline and forever, and it dials your real number directly. For service businesses where conversion data is valuable, the tradeoff might be worth it; for everyone else, static is simpler, cheaper, and won't break.
Printing recommendations
Phone QR codes encode very little data (typically under 20 characters), so they remain compact and scannable even at small sizes (2 cm / 0.8 in and up). Use the SVG download for the sharpest print and the smallest file size. Combine with a printed phone number underneath the QR — older audiences and people without a smartphone camera nearby still need the readable version.
For vehicle wraps and outdoor signage, scale up — phone QRs are often scanned from a few meters away. A 10 cm printed code is comfortably scannable from 1.5 meters. For business cards, 1.5–2 cm is plenty given the close scanning distance.
Business use cases
Any business that depends on inbound phone calls benefits from a tap-to-call QR on printed material. It's particularly powerful for older audiences who prefer calling over typing URLs, and for high-intent scenarios (urgent service, reservations, emergencies) where seconds of friction cost conversions. Real estate, automotive, home services, hospitality, and medical practices report the largest lift from phone QRs because their customers are already in "ready to call" mode when they see the sign.
International numbers and extensions
The tel: URI specification expects E.164 international format: a leading +, the country code, and the local number with no separators. +1 555 0100 works in user-facing display but the encoded value strips spaces to +15550100. For extensions, append ;ext=123 — most modern dialers will dial the main number, wait, and then send DTMF tones for the extension automatically. For countries that use trunk prefixes (the leading 0 in many European numbers), drop the trunk prefix in the encoded value; international callers don't dial it.
Combining with other QR types
A common layout for service businesses is to print three QR codes side by side: a phone QR for immediate calls, a URL QR for the website, and a vCard QR for saving the contact card. Label each with a one-word verb (Call / Visit / Save) and the scan rate goes up dramatically because users know exactly what each action does before they scan.
Troubleshooting
- Always use international format with the country code prefixed by
+(e.g.+1 555 0100). - Avoid spaces, dashes, and parentheses in the encoded number — most dialers handle them, but they bloat the QR slightly.
- Extensions can be added with
;ext=123(e.g.+1 555 0100;ext=123) — supported on iOS and most Android dialers. - Test on a real device before printing in volume; emulators sometimes "scan" but don't actually open the dialer.
- Toll-free numbers (1-800, etc.) work fine; just remember they typically don't dial from outside the country.
- If the dialer opens but refuses to call, the device may have call restrictions enabled (corporate MDM, parental controls).