Static vs Dynamic QR Codes
What the redirect actually buys you, measured on real encoded codes, and which payloads are worse off for it.
16 min readPut a place on a poster, a sign or an invitation, and let people open it in the map app they already use.
This page opens on the link encoding rather than raw coordinates, on purpose. Coordinates are the standard, and they are also the reason so many location codes do nothing on an iPhone.
Your code appears here as you type.
RFC 5870 defines geo:latitude,longitude as the way to write a place down. Android takes it and hands it to a map app. iOS never registered a handler for the scheme, so on an iPhone a coordinate code frequently opens nothing, with no error and no explanation. The person scanning assumes the code is broken.
That is not a bug you can encode around. It is a platform gap, and the only fix is to encode something iOS does understand, which is an ordinary link.
| Encoding | Android | iPhone | With no signal |
|---|---|---|---|
| geo: coordinates | Opens the default map app at the pin. | No registered handler. Often nothing happens at all. | Works with no connection, the coordinates are in the code. |
| Google Maps link | Opens the Maps app at the place. | Opens Maps if installed, otherwise the browser. | Needs a connection to resolve the link. |
The last column is the case for coordinates, and it is a real one. A trail marker or a site plan in a valley with no signal is exactly where a coordinate code beats a link, because the position is inside the symbol and nothing has to be fetched. If that is your situation, and your audience is on Android, use coordinates deliberately.
The same place, four ways, with the exact string each produces and the smallest width it can be printed at.
| What you enter | What the scanner reads | Version | Modules | Print at least |
|---|---|---|---|---|
| Coordinates (geo:)The RFC 5870 standard. Smallest by far, and does nothing on an iPhone. | geo:51.5007,-0.124619 characters | 2 | 33 | 13.2 mm |
| Google Maps short linkWhat the Share button in the Maps app gives you. Opens on both platforms. | https://maps.app.goo.gl/1a2b3c4d5e34 characters | 3 | 37 | 14.8 mm |
| Google Maps place linkCopied from the address bar. Carries the name, and costs a version for it. | https://www.google.com/maps/place/Big+Ben/@51.5007,-0.1246,17z62 characters | 4 | 41 | 16.4 mm |
| Directions linkOpens routing from wherever the person is standing, rather than a pin. | https://www.google.com/maps/dir/?api=1&destination=51.5007,-0.124666 characters | 5 | 45 | 18 mm |
Coordinates win on size by a wide margin, which is the honest argument for them. Among the link forms, the short one from the Maps share button is the one to use: the long URL copied out of the address bar carries the place name and pays for it in modules. The same lesson applies on the Google reviews page, where the link you pick decides the size of the code.
Two neighbouring cases are worth knowing about. If the place has a date attached, an event code carries the venue and the time together. If the code is going on a sign read from a distance rather than a page read in the hand, the sign board sizing changes the arithmetic completely. And if people have to be counted in when they arrive, the check-in desk scans them at the door.
Because it is almost certainly a geo: code. That is the standard way to encode coordinates and iOS does not register a handler for it, so nothing opens. Use a map link instead, which is what this page starts on.
A link, for anything public. Coordinates are smaller and work with no connection, which suits a trail marker or a site plan where everyone is on Android. A link reaches both platforms and can carry the place name, at the cost of a slightly larger code.
Open the place in Google Maps, press Share, and copy the link. That gives you the short maps.app.goo.gl form, which is the smallest and most reliable. The long URL from the browser address bar also works and makes a denser code.
Yes. A Maps directions link starts routing from wherever the person is standing when they scan. That is usually what you want on a sign at a road junction, and usually not what you want on a printed invitation.
A coordinate code will, since the position is inside the symbol. A link will not, because the phone has to fetch the page. That matters on a trail head or a rural venue where the signal is the reason people are looking at a printed sign.
Contact cards, Wi-Fi, and forms people fill in.
What the redirect actually buys you, measured on real encoded codes, and which payloads are worse off for it.
16 min readThe usable square inside a round sticker is 70% of its diameter. Measured minimum sizes for real links, against every common sticker size.
8 min readWhat each platform already ships, the measured cost of each payload type, and how to check an offline claim yourself.
26 min read