Google Maps Timeline Visualizer
Visualize and replay your Google Maps Timeline (Location History) export on a map — playback, filters, stats, and video export, all in your browser.
Google Maps Timeline Visualizer
Drop your Timeline JSON export from Google Takeout (Location History), and replay your trips on a map — with playback, filters, stats, and video export. Your location history is processed locally in your browser and never uploaded.
semanticSegments export, the older timelineObjects export, and iOS Records.json.What is Google Maps Timeline Visualizer?
A Google Maps Timeline visualizer loads the Timeline.json file from your Google Takeout export (Location History) and turns it into an interactive, replayable map of everywhere you went. Google's export is a large, awkward JSON file — the format changed in 2024, and older tools choke on it with errors like “Timeline JSON must be an array or contain semanticSegments”. This tool parses every export generation (the new semanticSegments format, the older timelineObjects array, and the iOS Records.json), extracts your visits and trips with their transport modes, and renders the routes on your choice of Google Maps or OpenStreetMap. You can then scrub a timeline to any moment, play the whole trip back like a video that finishes in 15 seconds to 5 minutes of watching (idle time is compressed so the actual travel isn't an imperceptible blink), filter by day or date range, hide individual stops or routes, read trip statistics (distance, moving vs. stationary time, transport breakdown), export to GeoJSON/GPX/KML, and even record an animated travel video of your route — all without uploading your location history anywhere.
How to use Google Maps Timeline Visualizer
- Export your location history from Google Takeout (takeout.google.com) — select “Location History (Timeline)”, create the export, unzip it, and open the Timeline.json inside.
- Upload the file (or drag & drop it, or paste its contents) and press Visualize — the parser auto-detects the export format and reports what it found.
- Explore the map: routes are colored by transport mode, visits are marked as place pins, and the sidebar lists the day's trips and stops with times.
- Use the player to replay the trip — play/pause, drag the timeline to any moment, pick how long the whole replay should take (“Trip in” 15s–5m), toggle “Follow map” to ride along or “Reveal as played” to draw the route progressively; filter by day or date range to focus a specific trip.
- Export the normalized data as GeoJSON, GPX, or KML for other tools, or open “Create Travel Video” to render an animated WebM of the route with a date/time overlay.
Examples
New export (2024+, Android/iOS)
Input
{ "semanticSegments": [ { "startTime": "…", "endTime": "…", "activity": { "start": {"latLng": "-6.1855°, 107.0232°"}, "end": {"latLng": "-6.2295°, 106.9862°"}, "topCandidate": { "type": "IN_PASSENGER_VEHICLE" } } }, { "startTime": "…", "endTime": "…", "visit": { "topCandidate": { "semanticType": "HOME", "placeLocation": {"latLng": "-6.2296°, 106.9859°"} } } } ], "rawSignals": […] }
Output
Auto-detected as the semantic-segments format: 1 driving segment (10.5 km) + 1 HOME visit.
Old export (pre-2024)
Input
[ { "startTime": "…", "endTime": "…", "activity": { "start": {"latLng": "1.0, 2.0"}, "end": {"latLng": "1.01, 2.01"}, "activities": [{ "activityType": "WALKING", "probability": 0.9 }] } } ]
Output
Auto-detected as the timeline-objects format: 1 walking segment with a computed distance.
Playback
Input
Any parsed timeline
Output
Play → the position marker moves along your route with interpolated coordinates and a live clock; Space = play/pause, ←/→ = seek, +/- = shorter/longer total replay.
Common mistakes
- Uploading the whole Takeout ZIP instead of the Timeline.json inside it — extract the archive first, then load the JSON file itself.
- Loading Records.json (iOS background signals) when you meant to load Timeline.json — both are JSON, but only Timeline carries semantic trips and visits.
- Expecting playback to cover gaps — if Google recorded nothing for an afternoon, the timeline legitimately jumps; scrubbing there just moves the marker to the next known point rather than inventing movement.
- Judging distance from the map's route length on screen — use the Trip Summary, which uses Google's reported per-segment distances (or haversine-computed ones when Google omits them).
Why use this tool
- Accepts every Timeline export generation — new semanticSegments, old timelineObjects, and iOS Records — with clear feedback about which was detected.
- Everything runs client-side: your location history, one of the most sensitive datasets you can export, never leaves the browser.
- Time-true playback: the slider maps to real timestamps and positions interpolate between samples, while long idle stretches are compressed so a mostly-stationary day still spends its replay on the actual travel.
- One-click export to GeoJSON, GPX, and KML from the normalized data, so your history works in any mapping tool.