Google Maps link to GPX

Paste the link of a Google Maps route and get a GPX for your sat-nav. The roads between your stops are rebuilt point by point on OpenStreetMap data - and if the result is not the route you drew, you can fix it on the map.

This is the one tool that runs on our server, because it has to: reading a Google Maps link means following its redirect, looking up place names and rebuilding the roads, and a web page is not allowed to do any of those. Only the link is sent - no file - and nothing is kept afterwards.

These tools run in your browser, so they need JavaScript. With JavaScript off there is nothing we can do here - but the same conversions run server-side on motogpx.org, which works without it.

In Google Maps: Directions → build your route → Share → Copy link. Short maps.app.goo.gl links are fine. What matters is that the link carries your own choices: drag the route onto the roads you want, or add the stops it should pass through. A bare start-and-end link is refused, because there is no route in it - only two addresses.

Routes are rebuilt on our own routing engine, on OpenStreetMap data - no quota and no waiting there. The place names in your link, though, are looked up through Nominatim, a free community service with a strict usage policy: that is why this tool is still capped at 30 conversions per hour per connection.

How to copy the link from Google Maps

  1. Open Google Maps and click Directions.
  2. Set your start and end, and drag the route onto the roads you want - those drag points are kept.
  3. Click Share, then "Copy link".
  4. Paste it above.

Questions

It refused my link, saying there is no route in it.

Because a link with only a start and an end does not contain a route: it contains two addresses. Everything in between would be invented by the routing engine as the fastest way across - the same thing your own device does from those two addresses, so the file would add nothing. The tool is for a route you have shaped: drag it onto the roads you want, or add the stops it should pass through, and the link will carry those. Two stops are fine as long as you dragged the route; three or more stops are fine on their own.

Why is the route not exactly the one I drew?

Because a Google Maps link does not contain the roads - only the stops, and the points where you dragged the route. Everything in between is rebuilt by a routing engine, which may pick a different road. The drag points are read and respected, and where that is not enough you can add waypoints on the map: on a coastal route we measured, going from one point every 25 km to one every 8 km cut the difference from 2.5 km to a few hundred metres.

Why does this one need your server?

Three reasons, all of them the browser's rules rather than our choice: a short maps.app.goo.gl link has to be followed to the long one, place names have to be looked up, and the roads have to be requested from a routing engine. A web page is not allowed to make any of those requests to another site. Only the link is sent - never a file - and nothing is stored.

It says it cannot find two stops.

The link is probably for a single place rather than a route. In Google Maps you need Directions, with a start and a destination, before Share gives you a route link. A link that opens on a pin has no route in it to convert.

Is there a limit?

Yes, and the page above says what it is. This tool leans on free services run by other people - Nominatim for place names, a routing engine for the roads - and a site open to everyone without sign-up can be hard on them. The cap exists to be a good neighbour, not to push you towards an account: there is no account to push you to.

The other two tools

GPXGoogle Maps

You have the GPX and you want the route on your phone. Get a ready-made Google Maps link, plus a KML that keeps every single point for Google My Maps.

in your browser
KMLGPX

You drew the route in Google My Maps or Google Earth. This is the most faithful conversion there is: a KML already contains the line you drew, so nothing has to be guessed.

in your browser