A powerful, web-based GPX file editor for simplifying, editing, splitting, and joining GPS tracks. Perfect for cleaning up recorded tracks from apps like GeoTracker before sharing or analyzing.
π Live App: https://asg49.github.io/GPX-Editor/
- Douglas-Peucker algorithm for intelligent point reduction
- Adjustable simplification level (1-95%)
- Auto-simplification for large files (>5,000 points)
- Handles massive tracks efficiently (tested with 790,000+ points)
- Restore Original feature to undo simplification
- Visual point manipulation - drag points to adjust your route
- Add points - tap on the track line to insert new waypoints
- Delete points - long-press (2.6s) on any point
- Real-time preview of all edits
- Automatic filename cleanup (removes doubled dates from GeoTracker exports)
- Split mode - tap any point to divide your track into segments
- Preview all segments before saving
- Save individual segments as separate GPX files
- Perfect for extracting specific portions of long recordings
- Multi-file selection - load multiple GPX files at once
- Combine separate tracks into a single route
- Maintains all metadata and timestamps
- Useful for creating continuous tracks from multiple recordings
- OpenStreetMap (default)
- Google Satellite
- Google Terrain/Topographic
- Google Hybrid (satellite + labels)
- Esri World Imagery
- Responsive design for phones and tablets
- Touch-friendly controls
- Works offline after first load (PWA-ready)
- Emergency save button (always accessible)
-
Load a GPX file
- Click the menu button (β°) in the top-right corner
- Tap "Load GPX File"
- Select your GPX file from your device
-
Edit your track
- Drag points: Touch and drag any red circle to adjust position
- Add points: Tap on the blue track line to insert waypoints
- Delete points: Long-press (2.6s) on any point, confirm deletion
- Change map layer: Use the layer control in top-right corner
-
Simplify your track
- Open menu β Adjust the simplification slider (1-95%)
- Click "Simplify Track"
- Higher percentage = more aggressive simplification
- Use "Restore Original" to undo
-
Save your work
- Click "Save [filename].gpx" button in the menu
- File downloads with
_Xsuffix to indicate it's been edited - Original file remains unchanged
- Click menu β Enable "Split Mode"
- Tap on any point where you want to split
- Review the split tracks in the menu
- Save individual segments as needed
- Exit split mode when done
- Click menu β "Join Tracks" section
- Click "Load Tracks to Join (multi-select)"
- Select multiple GPX files (Ctrl+Click or Shift+Click)
- Review the loaded tracks
- Click "Join All Tracks"
- Save the combined track
Files with more than 5,000 points are automatically simplified when loaded:
- Uses the current slider setting (default 10%)
- Toast notification shows:
Auto-simplified at 10%: 790000 β 79000 points (Use 'Restore Original' to undo) - Always reversible with "Restore Original"
- Input:
.gpxfiles (GPX 1.0 and 1.1) - Output:
.gpxfiles with all original metadata preserved - Special handling: Automatically cleans doubled dates from GeoTracker exports
- Example:
2020-02-29_2020-02-29_Track.gpxβ2020-02-29_Track.gpx
- Example:
- Small tracks (<5,000 points): Instant processing
- Medium tracks (5,000-100,000 points): 1-3 seconds
- Large tracks (100,000-1,000,000 points): 5-15 seconds with auto-simplification
- Optimized for mobile devices
- Start with conservative simplification (10-20%) and increase if needed
- Use Google Terrain for hiking/outdoor tracks to see elevation contours
- Long-press carefully - the 2.6s delay prevents accidental deletions
- Check "Restore Original" is available before saving if you want to undo changes
Cleaning up a recorded hike:
- Load track β Auto-simplifies to 10%
- Check the result
- If too aggressive, "Restore Original" and manually adjust slider to 5%
- Save with
_Xsuffix
Extracting part of a long track:
- Load track
- Enable Split Mode
- Tap at start and end of desired section
- Save the middle segment
Combining daily segments into a trip:
- Record each day separately
- Use "Load Tracks to Join (multi-select)"
- Select all daily files
- Join and save as complete trip
- Ctrl+A: Select all (when editing code)
- Escape: Close menus/dialogs
- Chrome/Edge (recommended)
- Safari (iOS/macOS)
- Firefox
- Any modern browser with JavaScript enabled
- Algorithm: Douglas-Peucker line simplification
- Mapping: Leaflet.js 1.9.4
- No server required: Runs entirely in your browser
- Privacy: All processing happens locally - no data uploaded
- Automatically removes doubled dates in filenames
- Cleaned filename also updated in GPX file header
- Updated app descriptions to highlight Simplify feature
- Changed tagline to "Simplify, Edit, Split & Join GPS Tracks"
- Enhanced auto-simplification message with 'Restore Original' reminder
- Clarified multi-select capability for joining tracks
- Removed redundant "Download GPX" button
- Fixed save button to display actual filename dynamically
- Reverted to fast linear tolerance formula
- Optimized for large files (handles 790k+ points efficiently)
- Reduced track line width by 30%
- Changed markers to transparent red circle outlines
- Added multiple map layer options
MIT License - see LICENSE file for details
Tony Gozdz Β© 2026
This is a personal project, but suggestions and bug reports are welcome! Please open an issue on GitHub.
For issues or questions:
- Check the About section in the app menu for usage tips
- Open an issue on GitHub
- Include your browser/device info and a description of the problem
Made with β€οΈ for outdoor enthusiasts and GPS data nerds