Field Tools

CSV to GPX Converter

Upload a CSV of coordinates and download a GPX track or waypoint file

About This Tool

The CSV to GPX Converter is a free browser tool that turns a spreadsheet of GPS coordinates into a GPX 1.1 track or waypoint file. Load a .csv or .txt file and it auto-detects the delimiter, the header row, and the latitude, longitude, elevation, time, and name columns — plus heart rate, cadence, temperature, and speed columns, which are written into the GPX as standard TrackPoint sensor extensions. There is no account, no install, and no upload: the entire conversion runs in your browser, so your coordinates never leave your device. Files up to 25 MB are supported.

How to Use It

  1. Load your CSV. Drag and drop a .csv or .txt file onto the upload area, or click to browse. Comma, semicolon, and tab delimiters are detected automatically.
  2. Check the column mapping. Auto-detected columns are marked with an auto badge. Only latitude and longitude are required — use the dropdowns to correct any guess or assign extra columns.
  3. Review the preview. The first five data rows are shown with mapped columns highlighted, so you can confirm the detection before converting.
  4. Choose Track or Waypoints. A track is one ordered path (a recorded log); waypoints are independent named points (campsites, water sources, turns).
  5. Convert and download. Click Convert to GPX — the .gpx file downloads immediately, and any rows with invalid coordinates are skipped and counted in the summary.

Supported Columns

ColumnHeader names recognizedNotes
Latitudelat, latitude, yRequired · decimal degrees, −90 to 90
Longitudelon, lng, long, longitude, xRequired · decimal degrees, −180 to 180
Elevationele, elev, elevation, alt, altitude, height, zOptional · meters
Timetime, timestamp, date, datetime, utcOptional · date strings or Unix epoch (seconds or ms), written as ISO 8601 UTC. Separate date and clock-time columns are combined automatically
Namename, title, label, waypoint, desc, commentOptional · point or waypoint names
Heart ratehr, heartrate, bpm, pulseOptional · written as gpxtpx:hr
Cadencecad, cadence, rpmOptional · written as gpxtpx:cad
Temperatureatemp, temp, temperatureOptional · °C, written as gpxtpx:atemp
Speedspeed, spd, velocityOptional · m/s, km/h, mph, or knots, converted to m/s

Detection is validated against the data itself: a column only maps as latitude if its values actually fall in range, and files without a header row still work — coordinates are found by value alone.

Frequently Asked Questions

What does my CSV need at minimum?

Two columns: latitude and longitude in decimal degrees. Everything else — elevation, timestamps, names, sensor data — is optional. A header row helps detection but is not required.

Does it handle European CSV exports?

Yes. Semicolon-delimited files and comma-decimal numbers (48,8584 instead of 48.8584) both parse correctly, so exports from European Excel and other regional spreadsheet settings convert without editing.

Can I convert heart rate, cadence, or speed data?

Yes. Those columns are auto-detected, sanity-checked against plausible ranges, and written as Garmin TrackPointExtension elements — the same format most GPS apps and devices read sensor data from.

Should I export a track or waypoints?

Choose Track when the rows are an ordered path, like a recorded log or planned route. Choose Waypoints when each row is an independent point of interest that should keep its own name.

Is my file uploaded anywhere?

No. The file is read and converted entirely by JavaScript in your browser; nothing is sent to a server, and the GPX is generated on your device.

What are the file limits?

Files must be .csv or .txt and under 25 MB. Rows whose coordinates don't parse or fall outside valid ranges are skipped and reported after conversion.

Learn More

Request a Feature

Have an idea that would make this tool better? Post it on the feature request board and vote on what gets built next.