How to convert GPX to CSV
- Drop the .gpx file into the converter at the top of the page.
- Check the preview; waypoints, routes and tracks are all read together, with nothing to pick.
- Choose CSV and convert; waypoints come out with name, X and Y columns, while tracks and routes are written as WKT lines.
What changes when you convert GPX to CSV
| What | GPX → CSV | |
|---|---|---|
| Geometry | Changes | Point features become X and Y columns; lines and polygons are written to a WKT geometry column, so no shape is lost in the table. |
| Attributes | Changes | GPX stores a fixed set of fields per feature (name, comment, description, symbol, type, elevation, time and a few GPS quality values), and those become attribute fields in CSV. Heart rate, cadence and other app extensions are not carried. |
| Styling & labels | Kept | Neither GPX nor CSV stores visual styling, so there is nothing to lose. Geometry and data carry straight over. |
| Coordinate system | Changes | CSV stores raw coordinates without a CRS tag, so note the coordinate system separately for whoever opens the file. |
| Elevation (Z) | Changes | Z values, if present, appear as an extra column rather than 3D geometry. |
| File structure | Kept | A single, self-contained .csv file you can move around on its own. |
Why convert GPX to CSV?
GPX is what a Garmin, a running watch or an app like Strava or Komoot writes when it records a hike or ride, and its XML suits devices far better than analysis. CSV flips that arrangement: once the points sit in plain rows you can open them in Excel or Google Sheets, load them with pandas, or feed them to a script or an API. People convert a track log to crunch the numbers, tidy a waypoint list, filter by time, or hand coordinates to a tool that has never heard of GPS formats.
Coordinate system handling
The datum question is settled before the file arrives, because the GPX specification permits WGS84 and nothing else, so the X and Y columns receive plain longitude and latitude exactly as the receiver logged them. No reprojection happens on the way to the table, and no setting exists for one, since there is nothing to translate.
A CSV has no slot for a coordinate system, so that knowledge travels with the person rather than the file. When the rows later return to GIS software, the delimited text import in QGIS asks which CRS to use, and EPSG:4326 is the answer that puts every point back where it was recorded. Degree columns deserve the same care in spreadsheet math, because a distance computed by subtracting degree values is an angle, not meters.
What to check when converting GPX to CSV
Expect a lean table rather than a rich one. Waypoints come out with name, X and Y columns, and fields such as comment, description, symbol, type, elevation and time appear only where the file records them, with a blank cell wherever a point has no value. Sensor extensions such as heart rate and cadence never become columns, so the original GPX stays the only full record of a workout.
Troubleshooting GPX to CSV
- A Strava export produced a table with no waypoint rows. Strava writes only the recorded track into an activity export, so waypoints were never in the file to begin with and nothing was dropped on the way through. Pull the original file from the device or app that captured the waypoints when the table needs them.
- Excel shows dates where the coordinates should be. Double-clicking the CSV on a computer set to comma decimals invites Excel to read a value such as 8.546 as a date. Bring the file in through Data > From Text/CSV, set the decimal separator to a period in the import options, and the coordinates arrive as numbers.
- Every value lands crammed into one column. Spreadsheet software in many European locales expects semicolons between fields, while this download separates fields with commas. Run the import wizard and declare the comma as the delimiter, or apply Text to Columns to the loaded sheet afterward.
- pandas reads the time column as plain strings. read_csv keeps timestamps as text unless told otherwise, so sorting still works but time math quietly fails. Pass parse_dates with the time column name in the read_csv call and the values load as real datetimes ready for filtering and resampling.
About the formats
A GPX file records where you went: waypoints, plus ordered tracks and routes straight off a watch or handheld unit. CSV is where that recording becomes analyzable, because rows in a plain table can be sorted, filtered and charted in a spreadsheet or with pandas. The pairing turns a Strava or Garmin export into data that distance, speed and elevation math can start from, without any mapping software open.
Frequently asked questions
What can I actually do with the table once it downloads?
Filter by time, tidy a waypoint list, or load it with pandas and hand the coordinates to another tool.
Which coordinate system are the X and Y values in?
WGS84 longitude and latitude, the way GPS receivers record. CSV has no tag for it, so note it for the next person.
Can I turn the table back into a GPX file later?
Yes. The CSV to GPX converter turns the rows back into device-ready waypoints, labeled from the name column.
Does the CSV keep the elevation and timestamps from my log?
Only where the GPX recorded them: elevation and time appear as extra columns when the source carries those tags, and a point without them leaves the cell blank.
Related converters
Ready to convert?
Drop a file and download the result in seconds. Nothing is uploaded, nothing is stored.