What an address QR code is — and the format mistake that sends customers to the wrong pin
An address QR code encodes your physical location so that scanning it opens a map app with your pin already dropped. No retyping, no autocorrect mangling your street number, no customer standing on the wrong corner squinting at a phone.
That's the promise. The trap is that "address QR code" is not one thing — it's four or five different encodings that look identical as black-and-white squares but behave very differently when someone scans them. Paste a plain street address into a generator and you might get a code that searches a map on one phone, does nothing on another, and opens a contact card on a third.
Here's the rule that matters more than any other in this guide: encode a map URL that resolves to a real place, not a bare string of text and not a raw coordinate. A Google Maps URL tied to your business listing is the closest thing to a universal default, because it carries the place identity — your name, hours, reviews, and a Directions button — instead of a featureless dot in the middle of a street. If your location is GPS coordinates rather than a postal address — a trailhead, a festival field — the location QR code guide covers the coordinate-first formats in depth.
What you can encode for an address — and which one to actually use
Five formats answer to "address QR code." They are not interchangeable. The format you pick should match where the code will be scanned and on which phones.
| Format | What it encodes | Cross-platform behavior | Best for |
|---|---|---|---|
| Google Maps URL | A google.com/maps URL to a place | Google Maps app on Android; app or browser on iOS | Storefronts — the reliable default |
| Apple Maps URL | A maps.apple.com URL with address or coordinates | Apple Maps on iOS; browser on Android | iPhone-heavy audiences |
| geo: URI | A geo:lat,lng coordinate (RFC 5870) | Native on Android; honored inconsistently by iOS Camera | Coordinates with no street address |
| Plain-text address | The address as raw characters | Shows text; user must tap "search" manually | Almost never — it adds a step |
| vCard (ADR field) | An address inside a contact card (RFC 6350) | Saves to contacts on both platforms | Business cards, where saving the contact is the goal |
Tips
- **Default to a Google Maps URL** for any public storefront code. It carries place identity, works on both platforms, and degrades to a browser view if no app is installed.
- **Use the format** `https://www.google.com/maps/search/?api=1&query=Your+Business,+City` rather than a shortened share link — it survives longer and stays readable if you ever audit it.
- **Use an [Apple Maps URL](/qr-codes/apple-maps)** only when the audience is overwhelmingly iPhone — a hotel concierge card, a luxury-retail mailer, an Apple-aligned event.
- **Use a [vCard QR](/qr-codes/vcard)** when the real job is "save my business to your contacts," not "navigate here now."
The `geo:` URI — why the open standard isn't the safe default
The geo: URI is the format every "do it the open-standards way" article recommends, and on paper they're right. Defined in RFC 5870, it encodes a coordinate as geo:37.7749,-122.4194 — no vendor, no tracking, no dependency on Google or Apple. Android treats it as a first-class intent: scan it, and the OS offers every installed map app to open it.
The honest truth is that iOS does not return the favor. Apple's Camera app handles geo: URIs inconsistently — some versions ignore the scan, others offer a vague "open in Safari" that goes nowhere useful. For a code printed where you have no idea which phone scans it, that's disqualifying. The open standard is the wrong default precisely because the largest scanning audience in your market may not honor it.
There's a real place for geo: though. When your location has no postal address — a trailhead, a food-truck spot in a park, a festival entrance in a field, a construction site identified only by coordinates — a geo: URI is the only honest way to encode it. A street-address QR can't point at a place the post office has never named, and the location guide is built around those coordinate-first scenarios. For an actual building with an actual address, encode the map URL.
Step-by-step: generate a print-ready address QR
The full workflow, from copying a map link to handing a press-ready file to a sign shop:
Tips
- **Find your place in Google Maps** and confirm it's your verified Business Profile, not a generic pin. Tap Share, then Copy Link — or build the URL `https://www.google.com/maps/search/?api=1&query=Your+Business,+City`.
- **Decide static vs dynamic.** Static for a permanent address; dynamic ($5/mo Lite) if you might relocate or want to reuse the printed code across listings.
- **Paste the URL into [EZQR's address QR generator](/qr-codes/address)** — the preview updates live as you type.
- **Add your brand colors and logo.** Set error correction to level H if the logo covers more than 10% of the code so it still reads.
- **Add "Scan for directions" prompt copy** in 10–12pt type beside the code. A labeled code out-scans a naked one by roughly two to one.
- **Export the right file.** PNG for screens and small print; SVG or PDF for anything a sign shop prints large, so it stays sharp at size.
- **Test on a real iPhone and a real Android** before printing. Confirm each lands on your pin with the Directions button visible.
- **Size for the scan distance** with the 10:1 rule — minimum code size in inches equals scan distance in feet divided by 10. The [QR code size guide](/guides/qr-code-size-guide) has the full table.
Where an address QR actually earns its keep
An address QR pays off most on surfaces where someone is deciding whether to physically come to you, and the gap between "interested" and "retyping your address by hand" is exactly where you lose them.
Storefront windows and doors. A code on the glass with "Scan for hours and directions" lets a passer-by save your location even when you're closed. The scan lands on your Business Profile, so they see today's hours and the next-open time without calling.
Real estate yard signs and listing flyers. A rider that opens the property's exact pin kills the daily "how do I get there?" texts. Because listings turn over, this is the textbook case for a dynamic code: print one sign, repoint it to the next listing. Pair it with the real estate QR playbook for the full sign-to-showing flow.
Event and wedding venues. Invitations and programs that carry a venue address QR cut the "where exactly is this?" group texts to zero. Encode the venue's map pin, not its homepage, so the tap goes straight to navigation.
Restaurants and cafés. On a menu, an ad, or a delivery box, a "find us" QR turns a one-time order into a repeat walk-in. Tie it to the restaurant QR setup so one surface can carry the menu and the address.
Trade-show booths, vehicle wraps, and warehouse docks. Anything scanned from several feet away needs both a big code and a real map destination — a receiving dock that opens the exact gate saves drivers the lap around the building. Size with the 10:1 rule and point at the location people actually need.
Static vs dynamic for an address — when each is right
A static address QR encodes the map URL directly into the pattern. There's no server in the loop, no subscription required for it to keep working, and it survives cancellation forever. A dynamic address QR encodes a short redirect you can repoint at any time, with scan analytics attached. The right pick comes down to one question: will the address ever change?
| Scenario | Choose | Why |
|---|---|---|
| Permanent storefront, plaque, monument sign | Static | Address never changes; the code should outlive any subscription |
| Business that might relocate in a few years | Dynamic | Repoint the pin after a move without reprinting |
| Real-estate yard sign reused across listings | Dynamic | Same printed sign, new address each listing |
| Wedding or one-off event invitation | Static | Single date, single venue, no reason to change |
| Multi-location chain on shared collateral | Dynamic | Route each batch to the nearest branch and track scans |
Tips
- **Default to static for any permanent address.** It's free, never expires, and a monument sign should not depend on a billing relationship staying alive in 2040. Verify it survives cancellation first — the [permanent QR code guide](/blog/permanent-qr-code-generator-2026) shows the exact check.
- **Choose dynamic when the destination is uncertain** — a pending move, a reused sign, or any case where reprinting is expensive. For the full trade-off, see [static vs dynamic](/guides/dynamic-vs-static-qr-codes).
The Business Profile trick — turn a bare pin into hours, reviews, and a Directions button
Most address QR codes point at a coordinate. The good ones point at a Business Profile, and that's the one choice that matters most for a brick-and-mortar business.
When you encode a raw coordinate or a plain address, the scanner opens a map showing a generic pin in the middle of a street. No name, no hours, no reviews. The visitor still has to confirm they're looking at the right place and then hunt for the directions control. When you encode the URL of your verified Google Business Profile instead, the scan opens your actual listing: business name, today's hours, the star rating, photos, the phone number, and a Directions button sitting right there. One tap and they're navigating — and it costs nothing extra.
To get the right URL, search your business in Google Maps, confirm the listing is the verified one you manage, tap Share, and copy the link. If you don't have a verified profile yet, claiming one is free and worth doing before you print anything — the code is only as good as the place it resolves to. The same logic applies on Apple's side: an Apple Maps place card carries the equivalent listing detail for iPhone users, so a claimed listing there is worth the same five minutes.
Common mistakes that break address QRs at scale
Five patterns turn up again and again when a business moves from "one test code" to a real print run.
1. Encoding a plain-text address. It feels like the obvious move and it's the most common failure. The scanner shows a screen of text and makes the user tap through to a map manually — the exact friction the QR was supposed to remove.
2. Pointing at a bare coordinate instead of a listing. A geo: pin or raw lat-long opens a featureless dot. Point at a Business Profile so the scan carries hours, reviews, and a Directions button.
3. Assuming everyone scans on the same phone. An Apple Maps URL that's perfect for an iPhone crowd routes to a clumsy browser view on Android. For a mixed public audience a Google Maps URL is the safer call, and Waze deep links are worth offering only to a driving-heavy audience.
4. Sizing the code for the page, not the read distance. A code printed business-card size on a yard sign is unscannable from the sidewalk. The 10:1 rule sets the floor: a 6-foot scan distance needs roughly a 7-inch code, and the size guide has the full table.
5. Printing a dynamic code, then letting the plan lapse. Dynamic codes route through a redirect that needs an active plan. If the address might change, dynamic is correct — just keep the plan current, or use a static code for anything you can't easily reprint.
Tracking scans — when a dynamic address QR and UTMs earn the $5/mo
A static address QR is free forever, and it reports nothing — there's no server in the loop to log a scan. For most permanent storefront codes that's fine; the address isn't changing and you don't need analytics to know your front door works.
A dynamic address QR routes through EZQR's redirect and logs every scan: timestamp, approximate city, device type, and referrer, all in your dashboard. The Lite plan at $5/month covers 25 dynamic codes; Pro at $10/month covers 100; Max at $20/month is unlimited. The $5/mo earns its keep in a few situations: multi-placement attribution, where a yard sign, an ad, a delivery box, and an Instagram post each get their own code with a different UTM tag so you learn which surface actually drives foot traffic; reused or repointed signs, where the same printed code sends people to a different address over time; and multi-location routing, where a chain sends each region's code to the nearest branch.
Pair a dynamic code with UTM parameters on the destination URL so the scan flows into Google Analytics alongside your web traffic. For a single permanent address that will never move, skip all of it — a free static code is the right answer, and it'll still be working long after the analytics would have stopped mattering.