Convert Google Maps Route to GPX route or track file

What does this program do?

The program converts a route planned in Google Maps to a GPX route or track for use with navigation software or GPS devices.

Download the program

Click the approporiate adjacent link to download the compressed file and extract into a directory where you have read and write permissions. Then, simply double click to run the program. No installation is necessary.

Security warnings

These are normal for independently published apps when the author hasn't paid for certification. With enough flawless executions over multiple clients, these should go away. In any case, you should only be troubled the first time you run the software.

Windows

You may see a SmartScreen warning the first time you run the program.

When Windows shows the blue Windows protected your PC screen, click More info / Run anyway.

Apple Mac

MacOS will show a warning because the app is not signed with an Apple Developer ID (this is expected and safe). Simply right-click (or Ctrl-click) the app, choose Open, then click Open in the dialog that appears. After this one-time step the app will open normally forever.

The program is completely safe. Feel free to run any virus scan if you have any concerns.

Sorry, but I'm not prepared to pay an ongoing annual fee to register the app with Microsoft or Apple.

The Basics

To use this app, you need a Google API key of your own (see below for information on how to get an API key). Google doesn’t offer unlimited free access to its APIs, but for an individual user creating for their own use this should never be a problem.

  1. Paste a full (not shortened) Google Maps directions link (with at least a start and end point). An example is included, from Land’s End to John o’Groats.
  2. Paste your own Google Directions API key (see below).
  3. Click Get Route from Google.
  4. Once the route is loaded, choose to export as a GPX track or route.

For your convenience, you can tick the Remember me box to store an encrypted version of your API key for successive uses of the program. The key is stored in a config file called config.json. You will find this in the same folder in which you run the application. You can delete the config.json file if you are concerned about storing your API key.

Exporting as a track

A track is a series of latitude and longitude co-ordinates, simply joined together to mark out a path.

A track contains no navigable points, but is useful if you just want to examine the path of a route.

Although a track itself does not contain navigation information, it is possible to convert a path to a route in route planning software, such as Garmin BaseCamp or MyRoute-app,

If you are a seasoned user, familiar with the functional differences between waypoints, via points and shaping points, and happy to do the conversion to a route yourself or just navigate using a track without directions, this works fine.

However, most people want to create a route for navigating a journey with directions given. If this is you, read on…

Exporting as a route

A GPX route is a series of latitude and longitude co-ordinates with particular significance to navigation systems or software.

In summary, there are three types of navigable points.

A Waypoint is a standalone saved location which exists outside the context of any one particular route. It is referred to as a favourite for this reason and would typically be a place you might visit regularly. Waypoints are not needed at all for routes, despite people commonly (mis)using them instead of via points, and are not used in this app at all.

A Via Point is a point on a route which you are required to pass through. Most navigation systems will announce approach and arrival at Via Points. If you miss a via point, your navigation system will ordinarily send you back, though some will let you use a skip function to ignore it or allow you to set preferences to ignore missed via points. You can think of a via point as a kind of favourite in the context of a single route. But it also has special significance in the context of a longer route. Some navigation systems will only allow you to resume journeys from via points or waypoints. In the context of this app, any named locations or manually dragged points in your Google Maps route are set as via points.

A Shaping Point is a point on the route used to indicate a preferred route along a specific road but it is not announced, and does not require you to pass through it. Shaping points effectively tell the navigation system that you’d like to go a certain way, but if you miss it, your system should not send you back. Should you miss a shaping point, depending on the system and your navigation preferences, it may take you towards the next shaping point, so long as you remain roughly on route, or it may proceed instead to the next Via Point.

When you export a route from the app, you get to choose the number of shaping points and the frequency of via points. This is born of my own methology of route planning over several years’ experience.

The Via point freqency determines at what frequency shaping points should be converted to via points. So, if you select 5 (the default), every fifth shaping point in the route is made a via point, along with the named locations and dragged points from your Google Route.

Once the route points have been retrieved from Google Maps, you can save as many versions of the route as you want without needing to request the route from Google Maps again, so try saving different versions and experiment with what works best for you and your particular route.

Some important route planning tips

A word of caution - When you load your route to your navigation system, check the via points in particular to ensure that they are precisely positioned on the road. There can be discrepencies in co-ordinates between maps and if a via point is a few metres off the road to the left or the right, you may get an interesting direction such as "Turn left and then make a U-turn." As bizarre as this may seem, the navigation system is simply doing what you told it. It’s trying to take you off the road to the point and then put you back on the road again. Be similarly aware where there are dual carriageways or motorways that the point is positioned on the correct carriageway. Otherwise, you might find yourself taken off the route at the next junction, driven down the opposite carriageway, then taken off again and brought around in a big circle. This is the source of many people’s frustration with GPS navigation, but the system is just going where it’s been told to go.

When choosing a value for Number of shaping points, you should determine the length of your journey and choose an appropriate number. 200 is a maximum in some navigation systems, so that is set as the maximum number in the app and should be more than enough. A good rule of thumb is that a shaping point every 1, 2, or even 5 kilometres should keep you more or less on the route from Google Maps. Longer journeys can always be broken up into smaller sections too. Counterintuitively, too many points can cause problems in a route. Indeed, here’s a tip. Ideally, you should aim for the minimum number that will keep you on your preferred route, because the fewer points there are, the fewer need to be checked and potentially corrected and the less likely you’ll find a "rogue point" on the route.

I’ve made the map default to a shaping point every kilometre, up to the maximum 200, but you can very likely decrease this dramatically. Indeed, I tested a 750 kilometre route while working on this app, with the maximum allowed stops and dragged points in Google Maps, and 50 shaping points were sufficent to keep it aligned precisely to the intended route.

Check your points… Especially your Via Points!

How to Get Your Google API Key

IMPORTANT: At some point in this process you will be asked for a bank card as part of this process, but unless your use is verging on industrial, you shouldn't be charged anything.

You’ll need a Google API key so the app can use Google Maps services. Don’t worry—this is free and only takes a few minutes. Just follow these steps:

Step 1: Sign in to Google

  1. Go to https://console.cloud.google.com/.
  2. Sign in with your Google account (the same one you use for Gmail or YouTube) or create one, if required.

Step 2: Create a Project

  1. At the top of the page, click the Select a project dropdown.
  2. Click New Project.
  3. Give your project a name (e.g., “My Maps App”) and click Create.

Step 3: Enable the APIs

  1. In the left menu, click APIs & Services → Library.
  2. Search for Geocoding API and click Enable.
  3. Search for Routes API and click Enable.
  4. Search for Roads API and click Enable.

You can enable more later if needed, but these are essential. Check each one to ensure they are enabled.

Step 4: Create Your API Key

  1. In the left menu, click APIs & Services → Credentials.
  2. Click Create Credentials → API Key.
  3. Your new API key will appear. Copy it and keep it safe.

Step 5: Add Basic Protection (Optional)

  1. Click Restrict Key next to your new key.
  2. Under Application restrictions, choose None. Alternatively, if you prefer to lock down use from a fixed IP address, you can choose to do that. Remember a VPN connection will affect the IP address used to connect to the API from the app. If you don't know what any of that means, stick with None.
  3. Under API restrictions, select the APIs you enabled above (these may already be set automatically).
  4. Click Save.

Step 6: Paste the Key into the App

Open the app and paste your API key where it asks for it. Optionally, click the Remember me checkbox, so you don't have to remember the key every time you use the app. Done!

Important: About Payment and Safety

Google asks for a payment card to verify your account, but provides a generous free tier for Maps APIs. For most users, normal and even quite heavy (i.e. non-commercial) use will not incur charges. You can monitor your usage in your Google Cloud Console for peace of mind.

If you are nevertheless still concerned about the possibility of exceeding the generous free allowance limits, you can set budget alerts. However, given the regular changes Google makes to how dashboards work, you are best to look for advice on how to do this, as it's outside the scope of most users' needs.

Tips for Beginners

  • You don’t need to pay for this unless you use a huge amount of requests (Google gives free credits).
  • If you get stuck, search “Google Cloud API Key setup” on YouTube—there are short videos.
  • Keep your key private. Don’t share it online.

About

This app uses the official Google Routes API.

Concept and GPX route creation logic by John Chivers.

Tested with Garmin BaseCamp and MyRoute-app.

Source code (after very much wrangling with John Chivers) by Grok (xAI) and Microsoft Copilot.

Google Maps Route to GPX screen shot
Google Maps Route to GPX screen shot

Download


Last updated: 15 December 2025
30,283 KB zipped / 30,715 KB unzipped

To verify the downloaded zip file is 100% intact:

1. Open PowerShell
2. Run this command (you can copy-paste):
certutil -hashfile "Google Maps Route to GPX.zip" SHA256
3. The 64-character hash must match the one below:
1d14c806d6a7fe56b4b790a02766479db73cdd08e8b4f34eba2b8b5c39d98dcc


This tool is completely free.

If it saves you time and helps you on great journeys, and you’d like to say thanks,
I’d gratefully accept a coffee via PayPal.

John Chivers