// WORKING APP 03 - 2026

GPXkit

Convert GPX tracks and routes to KML, cut the junk points off either end, and export clean GPX back out. One HTML file, no upload, no account.

Stack
Vanilla JS, SVG, DOMParser
Status
Live
Built with
Claude Code
Links
Live ↗
A loaded track, with the trim sliders that cut points off either end.

What it is

A small browser tool for the boring half of working with trail data. Drop in a GPX file and it shows you what is actually in there - waypoints, tracks, routes, distance, elapsed time - draws the route, lets you trim points off either end, and exports either KML or clean GPX.

Why I built it

Recorded tracks are messy at the edges. The GPS is still finding itself in the trailhead parking lot, and it keeps recording while you dig for your keys afterward, so both ends of a ride are a knot of points that skew the distance and look wrong on a map. Every tool I found either wanted an upload, wanted an account, or converted the file without letting me clean it first. I wanted one file I could open and use.

How it works

Everything runs client-side. DOMParser reads the GPX, and namespace-agnostic helpers match on local element names so files from any device parse - the usual reason a stricter parser rejects a perfectly valid track. Tracks and routes flatten into one ordered list, and each line gets a start/end index pair.

The trimmed model is derived, never stored: the parsed data is untouched, so RESET is just clearing the indices. The SVG preview draws kept points solid and the trimmed-off portion faint-dashed, so you see the cut before you commit to it. Pan and zoom rewrite the viewBox and counter-scale every dot so markers keep a constant screen size no matter how far in you go.

  • GPX in, KML or GPX out - elevation and timestamps preserved through the round trip.
  • Per-line trim sliders with a live preview of exactly which points get cut.
  • Distance by haversine, plus elapsed time when the source file carries timestamps.
  • One self-contained file: no build step, no dependencies, no network calls. Your GPX never leaves the machine.