MTL Explorer Self-hosted GPS archive Live demo
An open-source, self-hosted GPS tool

See all your GPS tracks on one map.

Import thousands of GPX and FIT tracks, including activities from Garmin, into a private, self-hosted map. Filter your history, compare years, inspect statistics, and plan your next route. Add heart rate from Google Health, even when it was recorded on another device.

MTL Explorer quick intro video preview

What you can do with MTL Explorer.

Load up thousands of tracks on a single map. Explore maps, compare activities, connect health data, and plan routes.

Explore

Load your track history on one map.

Import thousands of GPS tracks. View the same private archive as a dense map, a year-by-year history, or an activity breakdown.

  • Archive mapView thousands of tracks together and use filters to focus on a smaller selection.
  • Quick route statsClick any track to check the date, distance, time, and moving speed.
  • Activity viewRecolor the same map by activity type to separate cycling, motorized, and on-foot tracks.
  • Track detail graphsOpen a route to inspect speed, distance, energy, and power graphs.
Read about the GPS track map

Health overview
Real app screenshots with synthetic data. No personal records used.

Google Health (beta)

Your tracks and health data, together.

Record a ride on your Garmin and wear your Fitbit. MTL Explorer automatically matches heart-rate samples from Google Health to the track by time, even when the devices recorded separately.

  • Heart rate along the trackSee heart rate beside elevation and other track graphs. Compare heart rate on selected segments too.
  • Health over timeBrowse steps, sleep, resting heart rate, and body measurements by day, week, month, or year.
  • A local health archiveSync records automatically to your own installation. Exercises with a GPS route are added to your tracks.

The beta connection is optional and read-only. Setup requires your own Google Cloud project with API access; new projects are currently restricted. Matching needs track timestamps and heart-rate samples for the same time.

Google Health features and setup

Captured on 6 September 2026 with public Porto demo tracks.

Segments

Check segment times.

Create virtual checkpoints to measure your speed between specific locations on the map.

  • Draw segment checkpointsPlace zones on a route. The app finds matching tracks in the current filter.
  • Segment resultsSelect matching attempts and compare their times, speed, and distance.
  • Analyze effortCompare distances and pacing on overlapping route sections.
  • Replay attemptsReplay selected attempts together on the map.
Read about segment analysis

Statistics

Dig into the data.

Analyze your distance, moving time, and estimated mechanical work. Compare trends by year, quarter, month, or week.

  • Detailed graphsCheck your speed and elevation profile for any given track.
  • Calorie estimatesOpen a track's Overview to see estimated active calories, coverage, and body-weight controls.
  • Trend chartsCompare your historical data over specific time periods.
  • Period comparisonsCompare focused periods like Q1 across multiple years.
  • Exploration scoreMeasure how much new territory an activity covered.
Read about track statistics

Plan routes

Plan your next route.

Draw new routes point-by-point. Live stats for total distance and ascent update automatically while you draw.

  • Live route plannerClick on the map to draft a route. It tracks distance and climbing in real time.
  • Saved placesAdd named points with icons and notes. Save them with a route or as a plan of their own.
  • Waymarked trails layerOverlay known hiking and cycling routes from public map data.
  • GPX exportSave a planned route and export it for another device or application.
Read about route planning

Operate

Filters and control.

Use configurable filters to decide which tracks appear, how they are grouped, and which ones count in your statistics.

  • SQL-driven filtersWrite filters to isolate the tracks you want. The map updates immediately.
  • Custom groupingUse filter rules to group tracks for map colors, statistics, and focused archive views.
  • Compare yearsUse a filter for one year, then another. Or show both together with a different color for each.
  • Offline supportUse cached map tiles and track data locally when internet access drops.
Year filters and map colors · demo examples

Mobile

Use the map on your phone.

MTL Explorer runs in a mobile browser. You can check maps, statistics, and your GPS position while away from a desktop.

  • Responsive statisticsReview statistics and tracks on a narrow screen.
  • Mobile mapUse the track map while away from a desktop.
  • Segment analysisCheck past segment times from the mobile interface.
  • Location trackingShow your current GPS coordinates alongside historical routes.
Read about mobile use

How it works.

Set up the server, import your files, and start exploring.

1

Import your files

Drop files into a folder or import from Garmin. It supports GPX, FIT, TCX, KML/KMZ, IGC, NMEA, GeoJSON, and GDB.

2

Automated processing

MTL Explorer imports your files, marks duplicates, and flags files with problems. Your original files are never changed.

3

Map and analyze

Use filters to find what you want. Click tracks to check speed, distance, or mechanical energy spent.

4

Route planning

Draw point-by-point routes directly on the map. Save them as GPX files for your next trip.

Explore archive topics.

Read the documentation for user guides, installation, development, and architecture.

News

Recent releases and upcoming changes.

Open source and self-hosted.

You control the server and the data. No external accounts are required to use the core tools.

Keep it local

All your GPS files and photos stay on your hardware. You do not have to share your history with anyone.

  • Open source (AGPL), free to self-host, with a commercial license option.
  • Runs in Docker. Your database stays on your own computer. Maps load from the internet unless you set up offline maps.
  • Basic offline support. You can view cached tracks if you lose internet.