Skip to content
Convert coordinates from CSV to GPX and upload them to with GSAK
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

CSV-to-GPX-Converter for

This python script converts coordinates from a CSV to a GPX file. Using the two provided GSAK scripts, you can then easily upload your coordinates to The provided scripts automatically update the coordinates for each geocache.


You have to provide the GC number and the coordinates for each geocache within the CSV file. Thats the minimal requirement for a successful upload via the API.

The python script is configured to work with this pattern:

GC10020;N33° 41.876;W117° 57.297

If you know some Python you can easily adjust it to your needs. You can also contact me if you need help.


The python script creates a GPX file with this format

	<wpt lat="33.697933" lon="117.954950"><name>GC10020</name></wpt>


The config.txt file contains the configuration parameters for the script. The input parameter specifies the relative path the input file having the raw input. The gpx output file will be saved in the same location with the same filename.

The parameter delimiter lets you define the data delimiter. In the above example, if was a semicolon.

Setup GSAK

Download and install GSAK

Install macros

Install these two macros in GSAK: SetCorrectedFlag and CorrectedCoord2GCcom. Both can be found under gsak-scripts.

In GSAK, go to Macro -> Execute -> Install or press CTRL+M -> Install. Select a .gsk file and click install. Repeat for the second macro.

Upload with GSAK

  • First, import the converted GPX file in GSAK (CTRL+O)
  • Run the macro SetCorrectedFlag (CTRL+M and doubleclick on it). This will set a flag on all your imported geocaches so the next macro can pick them up for upload.
  • Then, run the macro CorrectedCoord2GCcom and wait until all coordinates are uploaded.

Docker build

You can also use the provided Dockerfile to build and run the python script.

docker build --rm -t gpx-converter .
docker run gpx-converter

# copy gpx to host (replace container id with the real one.)
docker ps -a
docker cp <containerid>:/data/example_input.gpx ./output.gpx


If this saved you some time, you may want to support me.

You can’t perform that action at this time.