GPX Merge

Paste two or more GPX files and combine their tracks, routes and waypoints into a single GPX 1.1 file — ordered chronologically by timestamp. Runs entirely in your browser, no upload.

Try:
Merged GPX

About this tool

Use GPX Merge when you have several exported rides, runs, hikes, routes or waypoint files and need one clean GPX 1.1 document. Paste the GPX text from each file one after another; the tool collects tracks (<trk>), routes (<rte>) and waypoints (<wpt>) from every pasted document.

By default the result is one continuous track ordered by timestamp, which is useful for joining split recordings or rebuilding a route from separate stages. Switch Merge mode to keep each original segment break, or keep each source track as its own <trk> when you want the output to preserve daily stages.

Worked example

Paste two GPX documents, leave Merge mode set to single-track, and keep Order chronologically by timestamp checked. The output contains one <trk> named Merged track; points from both inputs are sorted by their <time> values so a point recorded at 07:00:00Z appears before points recorded at 08:00:00Z and 09:00:00Z even if the files were pasted in a different order.

Limits and edge cases

FAQ

Can I merge more than two GPX files?

Yes. Paste each complete GPX file one after another in the input box. The parser scans the combined text and collects every track, route and waypoint it finds.

What is the difference between the merge modes?

single-track creates one track with one continuous segment. single-track-multi-segment creates one track but keeps each original segment break. separate-tracks writes each source track as a separate <trk> in the output.

Will waypoints be kept?

Waypoints are kept by default, including their name, description, symbol, elevation and timestamp when present. Turn off Keep waypoints if you only want tracks and routes in the merged file.

Does the tool upload my GPS data?

No. The merge runs locally in the browser WebAssembly module and returns text directly on the page.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool gpx-merge "<?xml version="1.0"?>
<gpx version="1.1"><trk><name>Morning</name><trkseg>
  <trkpt lat="52.100" lon="5.100"><time>2024-01-01T08:00:00Z</time></trkpt>
</trkseg></trk></gpx>"

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-merge/?input=%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%3Cgpx%20version%3D%221.1%22%3E%3Ctrk%3E%3Cname%3EMorning%3C%2Fname%3E%3Ctrkseg%3E%0A%20%20%3Ctrkpt%20lat%3D%2252.100%22%20lon%3D%225.100%22%3E%3Ctime%3E2024-01-01T08%3A00%3A00Z%3C%2Ftime%3E%3C%2Ftrkpt%3E%0A%3C%2Ftrkseg%3E%3C%2Ftrk%3E%3C%2Fgpx%3E&merge_mode=single-track&sort_by_time=true&dedupe=true&include_waypoints=true&track_name=Merged%20track

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.