GPX Privacy Scrubber
Remove or fuzz the home/start/end locations, timestamps, and sensor data from a GPX track before sharing it.
About this tool
GPX Privacy Scrubber cleans a GPX track before you post it publicly, attach it to a race report, or send it to someone else. GPX files often expose where an activity started and ended, the exact time you recorded it, and sensor data such as heart rate or cadence. This tool removes or fuzzes those parts while preserving the rest of the XML.
Everything runs locally in your browser — the GPX text you paste is never uploaded.
Worked example
Input GPX
<gpx version="1.1"><trk><trkseg><trkpt lat="52.100000" lon="4.100000"><time>2024-01-01T08:00:00Z</time></trkpt><trkpt lat="52.200000" lon="4.200000"><time>2024-01-01T08:05:00Z</time><extensions><hr>150</hr></extensions></trkpt><trkpt lat="52.300000" lon="4.300000"><time>2024-01-01T08:10:00Z</time></trkpt></trkseg></trk></gpx>
With the default settings, the first and last points are removed, all timestamps are rewritten, and the sensor extension block is deleted:
<gpx version="1.1"><trk><trkseg><trkpt lat="52.200000" lon="4.200000"><time>1970-01-01T00:00:00Z</time></trkpt></trkseg></trk></gpx>
What each option does
- Start/end handling — choose
removeto delete the first and last<trkpt>,<rtept>, or<wpt>elements, orfuzzto keep those points but move their coordinates by a deterministic offset. - Fuzz radius — the offset distance, in metres, used by
fuzzmode. The first and last points move in opposite directions so the exact start/end is hidden. - Rewrite all timestamps — replaces every
<time>…</time>value with1970-01-01T00:00:00Zso date, time of day, and pace are not leaked. - Remove sensor extensions — deletes
<extensions>…</extensions>blocks that often contain heart rate, cadence, power, temperature, or device metadata.
Limits
- This is a lightweight GPX/XML string scrubber, not a full XML normalizer. Well-formed GPX exported by fitness apps is expected.
- The tool treats the first and last GPX point elements in document order as the sensitive start/end points. It does not detect your home address or perform map matching.
fuzzmode is deterministic privacy fuzzing, not cryptographic anonymization. For maximum privacy, useremovemode.- Timestamp scrubbing intentionally replaces times with a fixed epoch rather than preserving intervals.
FAQ
Which GPX point types are scrubbed?
The tool looks for <trkpt>, <rtept>, and <wpt> elements in document order. The first and last such points are treated as the privacy-sensitive start and end locations.
Should I choose remove or fuzz?
Use remove when you want the strongest simple protection: the exact start and end points disappear. Use fuzz when you need to keep a visible start/end shape but can tolerate approximate, shifted coordinates.
Does it remove heart rate, cadence, or power data?
Yes, when Remove sensor extensions is enabled. It deletes every <extensions>…</extensions> block, where many devices store heart rate, cadence, power, temperature, hdop/vdop, and vendor metadata.
Is my GPX file uploaded?
No. The scrubber runs entirely in your browser with WebAssembly. The text you paste stays on your device.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool gpx-privacy-scrubber "Paste your GPX file here…"New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/gpx-privacy-scrubber/?gpx=Paste%20your%20GPX%20file%20here%E2%80%A6&mode=remove&radius_m=200&scrub_timestamps=true&remove_extensions=trueMachine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
