R Roam Get Roam

Getting your rides out: GPX, KML and CSV, and what each is for

Three formats, three different jobs. What each one actually contains, which to pick for which task, and why being able to export at all is the property that decides whether your riding history is yours.

A recorded ride that only exists inside one app is a ride you are renting. Apps get discontinued, subscriptions get raised, companies get bought, and the question of whether you can leave with your own history has a way of becoming urgent at short notice. Export is the feature that decides it, and it is worth understanding what the formats do before you need them.

GPX — the one for moving a route between apps

GPX is an XML format that has been the common language of GPS software since 2002. Practically everything reads it: Garmin devices, Strava, Komoot, Gaia, QGIS, OpenStreetMap editors, every mapping site with an upload box.

It holds three kinds of thing, and confusing them is the usual source of trouble.

A recorded ride is a track. Each point carries latitude, longitude and usually elevation and a timestamp, and extensions may add heart rate, cadence, temperature and so on — which is where interoperability gets patchy, because extensions are optional and each vendor has favourites.

The detail that matters for anyone who rides through tunnels: a GPX track can contain multiple track segments, and the segment break is precisely how the format expresses "the recording was interrupted here". An exporter that flattens an interrupted ride into one continuous segment has thrown that information away, and whatever reads the file afterwards will join the ends.

KML — the one for looking at it in Google Earth

KML is also XML, developed for Google Earth and now an Open Geospatial Consortium standard. It overlaps with GPX but is aimed at presentation rather than interchange: styling, colours, icons, folders, altitude modes that decide whether a line is draped on the terrain or drawn at true height.

Use KML when you want to look at a route in three dimensions, drape it over terrain, or hand someone a file that opens in Google Earth with one double-click. Do not use it as your archival copy — it is a rendering-oriented format, support outside the Google ecosystem is thinner, and a KMZ is simply a zipped KML.

CSV — the one for doing your own arithmetic

CSV is not a GPS format at all, which is exactly why it is useful. It is rows and columns, it opens in any spreadsheet, and it lets you ask questions the app’s own screens do not answer.

There are two genuinely different shapes, and knowing which you want saves a lot of time.

Roam exports all four of these shapes: GPX, KML, CSV by point and CSV by track. FIT is deliberately absent rather than present and half-working, which is a reasonable thing to prefer in a format that is easy to produce badly.

Two properties that matter more than the format list

It must export from disk, not from the running recorder

The ride you most want to rescue is the one that went wrong — the one whose recording was interrupted and never came back. If an app can only export what its live recorder is holding, that is exactly the ride it cannot give you. Roam’s exporter reads the database rather than the engine, so a track whose recording process was killed and never resumed can still be exported on its own.

It should tell you whether the file can be trusted

An export can be complete and still be wrong, if what the app believes about a ride and what is actually stored have come apart. Roam compares the two — the point count the summary claims against the point count on disk — and reports whether they agree. The file is written either way, deliberately: refusing to export would take away the data as well as the bad news, and the person holding the phone is the one who can still do something about it.

Practical notes

  1. Archive in GPX. It is the format most likely to be readable in ten years and the one every other tool accepts.
  2. Export before you need to. The moment you want your history out is usually the moment something has already gone wrong.
  3. Check the segment structure of a ride with gaps in it before trusting the distance a third-party site reports, because that site will make its own decision about the holes.
  4. For a year-in-review, use the one-row-per-track CSV rather than exporting two hundred GPX files and trying to total them.
  5. Remember that a track is a record of where you were. Think about that before posting one that starts at your front door.

In Roam, export is part of Roam Pro. Recording a ride completely, viewing it and replaying it are free and are meant to stay that way.

Frequently asked questions

What is the difference between GPX and KML?

GPX is the interchange format — nearly every GPS tool reads and writes it, and it is the right archival choice. KML is presentation-oriented, built for Google Earth, and carries styling and altitude modes that GPX does not. Use GPX to move data, KML to look at it in three dimensions.

Which CSV should I export?

One row per point if you want to analyse a single ride — speed, elevation and accuracy along the route. One row per track if you want a spreadsheet of many rides, for monthly totals or a chart of the season.

Can I export a ride that was interrupted?

Yes, if the app exports from stored data rather than from the live recorder. Roam’s exporter reads the database, so a ride whose recording was killed and never resumed can still be written out.

Why does my exported distance differ from what the app showed?

Usually because whatever you loaded the file into recalculated it with its own rules — different smoothing, and its own decision about what to do with signal gaps. A file with segment breaks preserved will be treated differently by different tools, and none of them is obliged to agree.

A recorder that does not lose the ride

Roam commits every GPS fix to the phone the moment it arrives, marks signal gaps instead of drawing a straight line through them, and reads climb from the barometer rather than from GPS altitude. No account, no sign-in, no sync. Recording a ride, viewing it and replaying it are free.

Download on the App Store

Related guides

All guides