Geo URI Builder

Enter coordinates to generate a shareable geo: URI for maps and apps.

How it is calculated

The tool assembles a string in the form geo:lat,lon[,alt][;u=accuracy]. Latitude and longitude are in decimal degrees: latitude must be between −90 and 90, longitude between −180 and 180, and anything outside these ranges gives no result. Each number is rounded to six decimal places (about 0.1 metre) and trailing zeros are removed, so 48.2010 becomes 48.201. Altitude, in metres, is added as a third number only if it is entered and not zero; accuracy, also in metres, is added as ;u= only if it is greater than zero. Negative longitudes (west) and latitudes (south) keep their minus sign. Degrees-minutes-seconds must be converted to decimal degrees before use.

Worked example

Take latitude 48.2010, longitude 16.3695, altitude 183 m and accuracy 25 m. Each value is formatted to up to six decimals with trailing zeros removed: 48.2010 becomes 48.201 and 16.3695 stays as it is. Altitude 183 is appended after the longitude, and accuracy is appended after a semicolon. The result is geo:48.201,16.3695,183;u=25. Paste it into a link, a QR code or a message and a phone will offer to open that point in a maps app.

Try this example →

Common mistakes

  • Swapping latitude and longitude. The geo: format is always latitude first, so putting 16.3695 first places the point somewhere else entirely.
  • Entering coordinates in degrees, minutes and seconds (48°12′3.6″). Only decimal degrees are accepted.
  • Dropping the minus sign for the southern or western hemisphere. Sydney's longitude is east (+151.2093) but its latitude is south (−33.8688).
  • Entering an altitude of 0 and expecting it in the link. A zero altitude is omitted, because the URI would otherwise claim a sea-level height you may not have measured.
  • Using accuracy in kilometres or feet. The u= value is in metres, so 25 means a 25-metre uncertainty radius.

About this calculator

The geo: URI scheme, standardized in RFC 5870, is a compact way to encode a geographic location as a single string: geo:latitude,longitude, with optional altitude and a u= parameter for positional uncertainty in meters. Unlike a link to a specific map provider, a geo: URI is provider-agnostic — the operating system decides which installed mapping app should handle it.

This makes it the standard way to embed a location in a text message, QR code, calendar invite, or contact card so that tapping it opens the user's preferred maps app (Google Maps, Apple Maps, OsmAnd, etc.) directly at those coordinates. Android and iOS both register geo: as an intent/URL scheme, which is why developers and mapping tool builders rely on it for cross-app, cross-platform location sharing instead of hardcoding a specific map service's link format.

Was this helpful?

You can pick up to 3 reactions.

Comments (1)

  • Editorial team

    The altitude field is skipped when it is 0, so sea-level points simply carry no third number; a place below sea level needs a negative value to appear. For Sydney Harbour, -33.8568 and 151.2153 with an accuracy of 10 give geo:-33.8568,151.2153;u=10. Open the string on a phone before printing it in a QR code, since desktop browsers often have no handler for geo: links. Which phone and map app opened yours, and did it land on the right spot?

Popular calculators

All Calculators