Looking for CSV to GPX Converter Program

 

I'm looking for a csv to GPX program.

In the past I always used Extra POI Editor, but this no longer works on my computer.

I asked Copilot for suggestions and it came up with Trail Notes CSV → GPX Tool or Maparz CSV → GPX Converter

Trail Notes is a script and Maparz requires me to use their webpage to load the csv and convert. I would prefer a standalone FREE program that I can load on my PC (Windows 11)

Any ideas?

--
DriveSmart 65, NUVI2555LMT, (NUVI350 is Now Retired)

JaVaWa RTWtool

I've used JaVaWa RTWtool previously. Don't remember if it is free or not.

What kind of .csv file?

Sorry, I know very little about "POI"... is there some recognized .csv format for these? Or are you just storing waypoints in a spreadsheet or database program? Anyway, I don't have a "one click" solution, but will just mention that boydsmaps saves waypoints in a proprietary - but very simple - format using .txt files. They are actually tab-delimited files (like files with a .tab extension) that can be directly imported into Excel or other programs. If your .csv files can be put into this same form (should be easy for anyone familiar with excel), then you could export them in tab delimited format and import into boydsmaps. And boydsmaps can export your file as a Garmin-compatible .gpx file.

Here's an example of a waypoint in a boydmaps .txt file (the long lines are going to "wrap" in the narrow forum window)
___________________

Name Comment Description Source Type Fix Symbol Elevation Latitude Longitude Time Link id
txt txt txt txt txt txt txt num num num txt txt num
130 140 140 120 100 100 0 0 0 0 0 0 0
Skinwalker Ranch Flag, Green 40.89856132650573 40.258336 -109.887599 3/28/2026, 9:51:29 PM https://boydsmaps.com/#12.00/40.258336/-109.887599/lctopo/0.... 142
___________________

The first line contains the column names that will appear in the boydsmaps spreadsheet function. They can be customized, but in this example I just used the default standard .gpx field names.

The second line indicates the field data format (text or numeric). This only affects the way the column sorts in boydsmaps.

The third line is the width (in pixels) of the column in boydsmaps. A zero means it cannot be changed by the user.

The rest of the file consists of your waypoint data, I use the standard Garmin waypoint names for the symbol. If you want to manually create a compatible file, go to boydsmaps.com and create a simple waypoint file by clicking on the crosshairs. Then export the file in boydsmaps format and import it into Excel. Then, just leave the first three lines alone and add your own data below them.

More info in the help file here (scroll way down to the waypoint section)

https://boydsmaps.com/help/#desktop

Again... maybe too convoluted for your specific application, but my idea was to make it easy to go between boydsmaps, Excel and Garmin.

--
boydsmaps.com

Looking For CSV To GPX Converter Program

I understand your frustration. I was looking for a batch program a few years ago to convert a CSV file to a GPX file and was unable to find one. I'm a retired computer programmer so I just wrote my own. I also wrote a program which does the reverse (GPX to CSV). I am now a Mac user. Luckily I wrote the programs in Golang. Golang is a great programming language and is extremely easy to port. Golang even lets you build an executable for a different OS then what you are running on. e.g. you can compile a Golang program on a Mac and build executables on Windows, Linux, etc. And vice-versa. That being said I did test the program on a Windows virtual machine and it ran with no issues and without any code changes.

That being said I have not made the programs public because I don't really want to provide support to the world. I'm retired. I did consider providing it as an upload to this site but I didn't see a way to do that.

I wouldn't mind providing it you you via email, but the last time I tried the "Contact" function on this site it wasn't working and I don't want to make my email address publicly available.

Here's a snippet of the programs documentation:

// This Golang program generates Garmin GPX files containing custom waypoints from CSV files.
// Optionally loads the Garmin GPX file waypoints into Garmin Basemap and optionally loads them on a Garmin GPS.
//
// Syntax: csvToGpx -csv-file
// [-gpx-directory] Optional. Specifies the output directory where the GPX file(s) will be created.
// If not specified then the GPX file(s) will be created in the same directory as the CSV file(s).
// [-csv-fields Optional. Specifies the format of the CSV file records (fields separated by a comma).
// [-encoding windows-1252] Optional. Specifies the encoding of the input CSV File. Defaults to UTF-8.
// [-garmin-basecamp] Optional. Specifies to copy Custom waypoints symbols files to the Garmin BaseCamp "CustomSymbols" directory.
// [-garmin-device ] Optional. Specifies to copy the waypoints to the specified Garmin GPS Device.
// [-custom-symbols-directory ] Optional. Specifies a directory containing custom waypoint symbols.
// [-default-symbol ] Optional. Specifies a custom waypoint symbol name or number for waypoints which do not have a symbol.
// If not specified the value for -default-symbol is "Waypoint" which displays as a dot.
// Note: Garmin BaseCamp can support 64 symbols (000-063), However a Garmin GPS can only support 56 symbols.
// Refer to https://support.garmin.com/en-US/?faq=VTS8XTdjCW5Tx3HyfJ3eQ6
// [-default-country ] Optional country which will be set in waypoints which do not have a country.
// [-default-proximity <0>] Optional proximity radius alarm value in meters which will be set in waypoints which do not have a proximity.
// [-author ] Optional Author which will be set in tne GPX metadata.
// [-email ] Optional Email address which will be set in tne GPX metadata.
// [-ignore-errors] Optional. Specifies to ignore errors encountered when verifying contents of CSV fields.
// If specified the field in error is ignored and processing of the waypoint continues.
// If not specified the entire waypoint is ignored.
// [-terminate-on-error} Optional. If specified the program will terminate on any errors encountered when verifying contents of CSV fields.
// [-debug] Optional. Specifies to display detail error messages encountered when verifying contents of CSV fields.
// [-help] Displays command help
//
// The default format of the input CSV file is:
//
// latitude,longitude,name,symbol,symbol-alt-name,comment,street,city,state,zip,country,phone,proximity,link