GPX Converter

100% private — files never leave your browser

GPS Heatmap Generator

Drop in a season of rides, a year of runs or your whole training library, and watch your personal heatmap appear — the streets you travel most glowing hot, the one-off explorations faint. Every point is aggregated and rendered locally in your browser; your tracks never leave your device.

How to make your GPS heatmap

  1. 1

    Drop your files

    Add as many GPS files as you like — every format this site reads is accepted, mixed freely. Remove any you didn't mean to add.

  2. 2

    Tune the look

    Pick the blur radius (soft glow vs fine detail) and output size. Leave the map base off for a pure abstract heat print, or on for streets underneath.

  3. 3

    Generate

    Points from every file are aggregated in a background worker and the density field renders to the canvas — big libraries take a moment, never a server.

  4. 4

    Download the PNG

    Save the finished heatmap at full resolution. Your original files were never uploaded, modified or stored.

What a personal heatmap shows you

A heatmap is the honest self-portrait of a training life. Where the color concentrates is where you actually live athletically: the commute you ride daily, the loops you default to, the park you've crossed a hundred times. Strava made the format famous with its global heatmaps; this tool gives you the personal version from your own files, with no account, no subscription and no upload.

Drop dozens of files at once — any mix of FIT, GPX, TCX, KML, KMZ and GeoJSON. Each track is parsed in a background worker, the points are aggregated into a density field, and the result is drawn to a canvas you can download as a PNG. Controls let you tune the blur radius and output size; an optional OpenStreetMap base layer puts your heat over actual streets, and falls back to the paper background automatically if tiles can't load.

Privacy is the whole design

A folder of training files is a map of your life — home, work, favorite routes, the days you weren't home. Upload-based heatmap makers get a copy of all of it. This one never does: files are parsed in a background worker on your device, density is computed in the page, and the PNG is encoded locally. The only optional network request is fetching map tiles from OpenStreetMap when you switch the base layer on, and you can verify that in your browser's network inspector.

Practical notes: files that fail to parse are skipped and reported rather than aborting the batch, points are sampled down to a generous ceiling so thousand-file libraries still render smoothly, and the finished PNG is yours — no watermarking beyond the OpenStreetMap attribution that only appears when the map base is used (and which the license requires).

Your files never leave this browser

This tool — like every tool on this site — runs entirely as client-side JavaScript. The file you drop is parsed in a Web Worker on your own device, converted in memory and handed straight back to you as a download. There is no upload endpoint, no server-side conversion service and no temporary storage: you can watch the network tab in your browser's developer tools and confirm that no file bytes are transmitted anywhere.

That matters more with fitness data than with most files. A GPS track is a precise log of where you were, at what time, and how hard your heart was working — home address, training habits, favorite routes and race schedule all in one file. Keeping conversion on-device means third-party converters never get a copy of that log, and the tool keeps working identically on a plane, in a basement, or anywhere else without signal.

Frequently asked questions

There's no hard cap — the practical limit is your device's memory. Points are sampled to roughly 300,000 total before rendering, so even a whole training history renders smoothly while keeping the heat pattern intact.

Related tools