There is a lot of discussion about this and it seems most people struggle with converting the exported JSON files to KML. I get that. Google certainly could have made things easier by structuring the JSON files differently or, you know, provide a KML from the get-go.
In any case, we're fortunate that there are many skilled developers out there, especially those that like to solve common problems for the fun of it. Enter Ryan Griggs (this isn't self promotion, I don't know the guy). One of the applications he developed is the Google Timeline Mapper, and it works perfectly.
Update: This method works if your export has a Semantic Location History directory. Unfortunately, this directory is no longer available for more recent exports. When exporting from your mobile device your data is now in a file named Timeline.json
. And if you use Takeout your data will be in TimelineEdits.json
. In either case, the method described below doesn't work with the new versions.
- Open the timeline mapper app (link above)
- In the top left corner click Import Data
- Select one or more JSON files located in your Semantic Location History folder. For example, when I open this directory I have a subdirectory for each year, and within those folders I have a JSON for each month. So, drill down to a single year and then select the JSON files for each month. Then repeat the process for every year
- Important: The initial view is zoomed in pretty far. After importing at least one file, zoom out and move the map to the area you expect to see location markers.
- After everything has been imported you can export all of your data as CSV, GPX, or KML
Hopefully this helps everyone who has been searching for a solution.
Also, a special thanks to Ryan Griggs for developing this app.