explainx.ai0k
TrendingAI News TodayPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

follow on google

Add explainx.ai as a preferred source

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

community

Join the community

learn

mind: share how you thinkpathways — start freeworkshopsbootcampscoursescompare Explainxcertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsmdx readeragentsllmsdesignsdictionarypeopleagi trackerfelony benchranks

company

aboutvisionmissionteaminstructorsteach on explainxpartnershipscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportcontactprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

explainx.ai

On this page

  • TL;DR
  • How to get your Timeline data
  • Making the video
  • The privacy model, specifically
  • Getting it installed
  • Supported Timeline formats and localization
  • What should you inspect before sharing a travel video?
  • Why might a route look wrong even when the JSON loads?
  • How do you diagnose a render that fails halfway through?
  • Related on explainx.ai
← Back to blog

explainx / blog

Google Timeline Visualizer: Turn Your Location History Into a Travel Video

Open Source, Privacy, Tools, Android, Guides

Google Timeline Visualizer is a free, open-source Android and web app that turns your exported Google Timeline data into an animated MP4 travel video — with no sign-in, no location permission, and no data uploaded.

Aug 21, 2026·8 min read·Yash Thakker
add explainx.ai
go deep
Google Timeline Visualizer: Turn Your Location History Into a Travel Video

Google's Timeline feature (the successor to Google Maps' old Location History) quietly logs years of where you've been — but Google gives you almost no way to actually look back at it as a story. Google Timeline Visualizer fills that specific gap: point it at your exported Timeline.json, pick a date range, and it renders an animated MP4 of your actual trips traced across a map.

What makes it worth a look isn't just the output — it's that the entire pipeline runs on-device, with a privacy model that's unusually strict for anything touching location data.

Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.

TL;DR

table · 2 cols
QuestionAnswer
What does it do?Turns your Google Timeline export into an animated travel video (MP4)
Platforms?Native Android app, iPhone-compatible web app, standalone Python CLI
Cost?Free, MIT-licensed, open source
Requires Google sign-in?No
Uploads your location data?No — rendering happens on-device; only map tile requests leave the device
Where to get it?GitHub Releases (Android APK) or the iPhone web app in Safari
Minimum requirements?Android 8.0+, or iPhone with Safari 16.4+ for MP4 export

Illustration of a glowing marker tracing a fading dotted path across an abstract map, representing turning location history into an animated travel video

How to get your Timeline data

Your exported Timeline data is the only input the app needs, and it lives in a slightly different place depending on platform:

On Android: open Settings → Location → Location services → Timeline, then choose Export Timeline data, and save the resulting Timeline.json. Google occasionally shuffles this menu's exact wording, so the app's own "Get Timeline file" screen shows current instructions and can deep-link you to the right settings page.

On iPhone: in Google Maps, go to your profile picture → Settings → Personal content → Export Timeline data, and save Timeline.json to Files. From there, open the app's iPhone web version in Safari and select Choose Timeline.json — no app install, and nothing gets uploaded in that flow either.

If your Timeline history looks thinner than you remember — common after a phone swap, a Google Maps reinstall, or a device reset — that's usually a Google-side gap, not the app's fault. Google Maps has its own encrypted-backup Restore Google Maps Timeline flow to recover lost history; restore it there first, then re-export.

Making the video

Once your Timeline file is loaded, the workflow is short:

  1. Choose a range — a month range, or Exact dates for a short trip. The latest full year is selected by default, and ranges can cross year boundaries.
  2. Pick a duration and camera style — presets from 10 to 300 seconds, plus Steady, Fixed, or Dynamic camera movement, and a Balanced long-trip compression setting that only changes animation timing, never your actual route geometry.
  3. Preview — an interactive preview plays the animated map before you commit to a full render.
  4. Create video — on Android 10+, the finished MP4 saves automatically to Movies/Timeline Visualizer; older Android versions use the system Save-As picker.

Older travel fades behind the moving marker as the animation progresses, which keeps long, multi-year Timelines legible instead of turning into an unreadable tangle of lines. Long flights and other sparse routes are interpolated along a great-circle path so the camera moves smoothly rather than jump-cutting to the next stop, and local movement (commutes, day-to-day trips) stays within a stable central view before the camera follows it — a small detail, but it's the difference between a video that feels like a flight path and one that feels like a year.

The privacy model, specifically

This is the part worth calling out on its own: the app explicitly uses no Google sign-in, no location permission, no account permission, and no analytics. It reads only the JSON and video files you deliberately select, and the actual video rendering happens on-device — nothing about your trip history is transmitted anywhere.

The one exception is basemap tiles: CARTO receives requests for the specific map areas your trips cover (serving tiles built on OpenStreetMap data), which can reveal which regions you're rendering to the tile provider, even though the underlying Timeline JSON itself is never uploaded. The developer discloses this explicitly before your first Timeline load and lets you cancel before it happens — a level of upfront disclosure that's rare for a location-adjacent app, open source or not.

That design is worth comparing against other on-device, privacy-first tooling we've covered — see our guide on self-hosting photos with Immich for a similar on-device-first approach applied to photo libraries instead of location history.

Getting it installed

The Android app isn't on Google Play yet — it's distributed directly from the project's GitHub Releases as a signed APK. Android will show an "installed outside Google Play" warning for a direct-distribution APK like this; that's expected, not a red flag, as long as you're downloading from the project's own repository and not a mirror. The README is explicit: download only the .apk asset (not the .sha256 checksum file), and you may need to temporarily allow "install unknown apps" for your browser or file manager.

On iPhone, there's nothing to install at all — the web app runs directly in Safari, requires Safari 16.4+ for MP4 rendering, and can be added to your home screen via Safari's Share menu for app-like access.

For desktop users, a standalone Python CLI (visualizer.py) ships in the same repository, using FFmpeg for rendering:

bash
python -m pip install -r requirements.txt
python visualizer.py --input Timeline.json --year 2025 --camera-movement steady \
  --long-trip-compression balanced --output my_trip_2025.mp4

Supported Timeline formats and localization

The app handles both the current direct-array Google Timeline export format and the older {"semanticSegments": [...]} structure, plus a raw-location fallback for edge cases, with a warning and local noise reduction applied. It also parses Timeline paths, activities, and visits across multiple coordinate encodings (string, latLng, degree, geo:, and E7 formats), and correctly handles routes that cross the international date line — the kind of detail that only surfaces once real users start filing edge-case bug reports against a genuinely global Timeline dataset.

Localization currently covers English, Korean, Japanese, Simplified and Traditional Chinese, Spanish, French, German, and Brazilian Portuguese, selectable in-app or left on system default.

What should you inspect before sharing a travel video?

Preview the complete export at normal playback speed, then pause at the start and end of each trip. A route can reveal your home, a workplace, or a regular meeting place even if the video never displays a street address. Limiting the date range to a holiday is a useful first step, but it does not automatically remove those endpoints.

Decide whether the public version needs to show the actual route at all. A city-level overview may communicate the trip without exposing a daily routine. If the tool does not offer the masking or cropping you need, edit the finished artifact in a separate tool or keep it private. Do not assume an attractive map animation has already made that privacy decision for you.

Check labels, thumbnails, and the exported filename too. The visible path is only one possible disclosure. Keep the original Timeline file separate from the video you intend to publish, and review what your sharing application uploads. Local rendering protects the input processing boundary; it does not control what you later post.

Why might a route look wrong even when the JSON loads?

Loading a valid file only proves that the app accepted its structure. Location history can have gaps, sparse samples, and classifications that do not match your recollection. Compare an odd segment with the corresponding period in Google Maps before concluding that the renderer invented it.

An interpolated flight path is a presentation of the endpoints, not a recording of every point along the journey. Similarly, a smooth line between distant samples should not be used as proof that you traveled along that exact street. Keep this distinction in mind if you use the video for anything beyond personal storytelling.

Try a shorter range around the suspicious segment. If that looks sensible, the original problem may have involved timing or the camera movement rather than the location data itself. Preserve the source export while experimenting so you can return to the original instead of repeatedly modifying the only copy.

How do you diagnose a render that fails halfway through?

Start with a short, low-complexity export. If it succeeds, gradually increase duration or date range while keeping the other settings fixed. This helps identify whether the failure tracks document size, rendering settings, or a particular segment. Record the app version and the settings with the failure report.

Check available storage before starting another long render, and confirm where the successful file was saved. A finished progress bar is not the same as a playable MP4 in the destination you expected. Open the exported file directly and inspect its beginning, middle, and end before deleting temporary work or sharing the link.

When reporting a bug, use a small synthetic example or redact a copy of the data if possible. A full location-history export is rarely necessary for an initial report and can disclose years of personal movements. Describe the format and symptom first, then share only the minimum sample needed to reproduce the issue.

Related on explainx.ai

  • Self-hosting photos with Immich: privacy, cost, and background blur
  • How to blur faces in a video for privacy
  • How to blur license plates in video for privacy
  • Blurring anything in video: a guide to AI privacy tools
  • What is C2PA? Content Credentials, explained

Primary source: google-timeline-visualizer on GitHub — 2,100+ stars, MIT licensed


Describes google-timeline-visualizer as of its v2.2.12 release, August 21, 2026. It's an actively developed open-source project — check the repository for the current version and feature set before relying on details here.

Spotted something out of date? Let us know.
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

View Yash Thakker in People in AI →

Related posts

Sep 25, 2026

F-Droid 2.0 Launches as Google Prepares Android Developer Verification

F-Droid shipped 2.0 on September 24, 2026, its largest update in 10 years, just as its Keep Android Open campaign warns that Google is changing how apps get installed. Here is what the release changes, what it drops, and why AI builders shipping Android apps outside the Play Store should pay attention.

Oct 5, 2026

Strata Runs Qwen3.8-Flash-Next 125B on a 12 GB Gaming GPU: Speed vs Quality

Strata, an MIT-licensed open-source engine, claims to run the 125B-parameter Qwen3.8-Flash-Next on a normal gaming PC with 12 GB of VRAM and 32-64 GB of RAM, at 44-124 tokens per second. A 617-point Hacker News thread tested the claim. Here is the setup, the speed table, the quant guide, and the honest quality caveats.

Oct 4, 2026

Top 10 MCP Servers in 2026: 6 Open Source, 4 Closed Source (and What to Check)

The MCP ecosystem is crowded, and the first question for any server is not what it can do but who controls it. This ranking splits ten useful MCP servers into six open-source and four closed, hosted ones, explains how we ranked them, and gives a checklist for connecting any of them safely.