Location

Google Maps QR code generator

A maps QR code opens a pin at an exact spot. Because the code carries coordinates rather than a street address, it works for the places that have no address — a gate in a field, a stall in a market, the far end of a car park — and it puts the visitor in whichever map app they already use. This page covers the coordinate order that trips people up, the one encoding that breaks every iPhone, and how precise the pin really is.

Last reviewed

What a maps QR code is

It is a QR code containing a link to a map, centred on one exact point. The visitor scans it, their phone opens the link, and the map app they already use — Google Maps, Apple Maps, whatever handles it — opens with a pin dropped at that location and a route one tap away.

The reason to use coordinates rather than an address is that coordinates work everywhere. A street address assumes a street, a numbering scheme and a country whose postal system is on a map service. A pair of numbers describes a point on the planet, which is what you have when you want to send someone to a car park entrance, a marquee in a field, a specific gate at a stadium, or a market stall that has no number.

It is a static code: the coordinates are inside the picture, so it needs no server, works with no signal at the moment of scanning beyond what the map app needs, and never expires.

What the code contains

The default payload is an ordinary Google Maps web address. For the Houses of Parliament in London, the generator produces exactly this:

https://www.google.com/maps/search/?api=1&query=51.5074,-0.1278

Add a place name and it becomes:

https://www.google.com/maps/search/?api=1&query=51.5074,-0.1278 (Big Ben)

Both examples are shown decoded, because that is how they read on screen and how you would paste one into a browser. What the generator actually encodes is percent-encoded: the comma becomes %2C, the space becomes + and a bracket becomes %28. A comma, a space and a bracket all mean something inside a URL, so they are encoded to make sure the whole coordinate pair arrives as a single value rather than being split into extra parameters. The map decodes them again before it looks anything up, which is why the address bar shows the readable form above.

Because it is a plain https link, it opens the Maps app on iOS and Android and also works in a desktop browser. That last part is not an afterthought: people receive these codes in emails, on invoices and in PDFs, and open them on whatever is in front of them.

The geo: trap

There is a formally correct URI for a geographic location: geo:, published as RFC 5870. It looks like this:

geo:51.5074,-0.1278

Android hands that straight to the maps app, and it is the encoding a standards-minded tool will pick first. It is also broken on every iPhone: iOS Safari does not handle the geo: scheme, so a code that contains only a geo: URI does nothing at all for a large share of the people who scan it. Some scanner apps show an error; others simply do not respond.

That is why this generator defaults to the Maps web address and makes geo: an explicit opt-in, labelled Android only in the form, with the reason next to the control rather than buried in a documentation page nobody reads. The two are not equally good choices that you pick between by taste; one of them is broken for half your audience.

EncodingiPhoneAndroidDesktop
Maps link (default) Opens Maps Opens Maps Opens the web map
geo: URI (opt-in) Does nothing Opens Maps Does nothing

Unless you are certain every visitor is on Android, leave the default alone.

Latitude first, longitude second

This is the mistake that matters most with location codes, because it often does not produce an error. The order is always latitude, then longitude — the same order Google Maps gives you when you copy a point.

Latitude measures how far north or south you are and runs from −90 to 90. Longitude measures east or west and runs from −180 to 180. That asymmetry is the trap: because latitude stops at 90, an obviously wrong pair is often caught. But not always. Take London at 51.5074, -0.1278 and swap the two numbers:

-0.1278, 51.5074

Both values are in range, so nothing is refused — and the pin lands in the Indian Ocean off the coast of Somalia. The generator cannot know that you meant London, because a valid coordinate is a valid coordinate. The only defence is to scan your own code and look at the map before you print it.

A quick sanity check while you type: if the second number is bigger than 90 in absolute value, either the values are swapped or one of them is wrong. Places in the United States, Europe and most of Asia have longitudes well outside the latitude range, so a transposed pair is very often the giveaway.

Negative means south and west

The sign is the second most common error, and it is easier to check because dropping it moves you to a completely different part of the world rather than to a valid-looking spot nearby.

So the White House is roughly 38.8977, -77.0365 — both the latitude (north) and the longitude (west of Greenwich) have a sign to get right, and getting either one wrong puts the pin in the wrong hemisphere. The form's hints state which is which, because nobody remembers reliably and looking it up costs more than reading it.

Why a bad coordinate is refused, not corrected

If you type a latitude of 120, the generator rejects it rather than reducing it to 90. That is a deliberate design decision and it is worth explaining, because "helpfully" correcting the number is what a lot of tools do.

Clamping a coordinate moves the pin. A latitude of 120 is not a place that is slightly too far north; it is a typo. Quietly turning it into 90 would drop a pin at the North Pole, in a code that looks perfectly correct and prints without complaint. The visitor would follow it, and the mistake would only surface when they arrived nowhere. Refusing the input means the error appears while you are still looking at the screen, where it costs nothing to fix.

The same reasoning applies to the format: the generator accepts a plain decimal number such as 51.5074 or -0.1278, and refuses anything else — degrees, minutes and seconds, a trailing compass letter like 51.5074N, or a full "51°30'26.6"N" string. Those are all real notations, and converting between them is exactly the kind of silent arithmetic that introduces a small error nobody notices. Copy the decimal pair from the map and paste it in.

How precise the pin really is

Coordinates copied from a map app usually arrive with seven or eight decimal places, which implies a precision no phone GPS has. The generator keeps up to six, which is already far beyond what you need:

Decimal placesRoughlyEnough for
6about 11 cm of latitudeAnything you could print — a doorway
5about 1.1 mA specific entrance
4about 11 mA building
3about 110 mA car park, a field, a small site

Longitude is finer still, because lines of longitude converge as you move away from the equator — at the latitude of London, one ten-thousandth of a degree of longitude is about 7 metres rather than 11. So the numbers above are the conservative case.

The practical point is that you should not agonise over the last digits, and you should not hunt for more of them. A pin that lands on the right building is the goal; a pin accurate to eleven centimetres is not more correct if the visitor still has to find the door. What matters far more is that the pin is on the entrance rather than the centre of the building, because that is the difference a visitor actually feels.

Place names on the pin

The optional label is the name shown on the pin. Without it the visitor sees a pair of numbers and has to work out whether they are in the right place; with it they see "Big Ben" and know instantly.

The label is free text, which means it can contain characters that are structural inside a URI — brackets, commas, semicolons, ampersands, question marks, hashes. The generator strips those rather than escaping them, so a name like Cafe (South) & Bar? is stored as Cafe South Bar. Nothing is broken by this and the result has exactly one query section and one balanced group, which is the property that matters: a place name can never add, duplicate or override a parameter in the link, however it is typed.

Keep the label short and recognisable — the name a visitor would search for, not the full legal name of the business. It is shown on a pin, not in a listing.

Printing and placing it

Location codes are scanned by people who are already on their way somewhere, usually holding a phone, often outdoors. That shapes both the size and the placement.

Put it where a person needs directions rather than where they are already standing. A code at the entrance to a car park is read by someone who is about to walk. A code on the door of the venue itself is read by someone who has already arrived and no longer needs it. The useful places are the invitation, the booking confirmation, the gate, the sign at the end of the road, and the bottom of the email that says where to come.

Label it with what it does — "Directions", "Find us", "Where to park" — not just "Scan me". And keep the standard print rules: dark modules on a light background, the quiet-zone margin left intact, and matte material rather than glossy, because outdoor codes are read in sunlight and glare is the most common reason a code fails at exactly the moment it is needed. The size calculator will give you a minimum size for the distance you expect.

When not to use a pin

A pin is a fixed point, and that is the assumption to check before you print it.

For a fixed venue with an awkward or absent address, a pin is the clearest instruction you can give, because it removes the interpretation entirely.

Make one in the generator

The generator has a location type with a live preview: enter the latitude and longitude, optionally add a place name, and leave the encoding on the Maps link unless you have a specific reason not to. It validates the range, refuses what it cannot read, and shows you the exact URL it will encode. Download it as PNG or SVG. Codes are free, carry no watermark and never expire.

Open the location QR code generator

Tip: get the coordinates by opening the exact spot in Google Maps and copying the pair it shows — right-click on a computer, or long-press on a phone. Check the pin before printing, because a swapped pair of valid numbers is the one mistake the validation cannot catch for you.

Frequently asked questions

What does a Google Maps QR code do?

It opens a map showing a pin at a specific location. The visitor does not have to type an address, and the pin is a pair of coordinates rather than a street address, so it works for places that have no address at all: a gate in a field, a stall in a market, a trailhead.

Does a maps QR code work on iPhone?

Yes, as long as it uses a Maps web address, which is the default here. The alternative geo: URI, published as RFC 5870, is the formally correct scheme for a coordinate but iOS Safari does not handle it, so a geo:-only code is simply broken for every iPhone. That is why geo: is an opt-in labelled Android only rather than the default.

Which comes first, latitude or longitude?

Latitude first, then longitude. Getting them the wrong way round is the most common mistake with this type, and it often does not fail loudly: for London, 51.5074 and -0.1278, swapping them produces -0.1278 and 51.5074, which is a perfectly valid pair of numbers pointing at the Indian Ocean. Check the pin on a map before printing.

How precise do the coordinates need to be?

Six decimal places is far more than enough for anything you would print: it is sub-metre, roughly 11 cm of latitude. Even three decimal places, about 110 metres, is usually fine for a building. The generator keeps up to six decimals and does not pad shorter input.

Can I put a place name on the pin?

Yes. The optional label becomes the name shown on the pin in the maps app, so the visitor sees where they are going instead of a pair of numbers. The generator strips characters that are structural inside a URI, so a name containing brackets, an ampersand or a question mark cannot break the link or add a parameter.

What if I enter a coordinate that is out of range?

It is refused, not corrected. Latitude runs from −90 to 90 and longitude from −180 to 180, and a value outside that range is a typed mistake. Silently clamping it would move the pin somewhere plausible and make a typo look like it worked, which is worse than an error message.

Does a Google Maps QR code expire?

No. The coordinates are encoded directly in the code, so it works with no server involved and never expires. It stays correct as long as the place does not move, which is why it is the wrong choice for a food truck or a pop-up.

Ready to make one?

Paste the coordinates, add a place name if it helps, and download the code as PNG or SVG. Free, no watermark, and it never expires.

Open the location QR code generator