GPXtruder: Make 3D-printable models of GPX tracks

Step 1

Go for a run or a ride. Record your route with a GPS watch.

Alternatively, export a route from a site like Strava or MapMyRun. Add elevations with GPS Visualizer.

Step 2

Use GPXtruder to convert your route to a 3D elevation map.

Upload a GPX file. Download an STL file or copy the output code to make a remix of your model.

Step 3

Print your route model on a 3D printer. Show off those hills!

Don't have a printer? Check out 3D Hubs to find one near you, or try a service like Shapeways.

GPXtruder is an open source project. Visit the project page for help, examples, and feedback.


GPXtruder only processes the first track in the GPX file.


Vertical exaggeration:
Multiply elevation values by this factor to enhance terrain.

(meters) Force default:
The default is used for all points of undefined elevation. Check Force default to disregard GPX elevation values.

Uncheck to show full elevation above sea level. No effect if Force default is checked.

Smoothing: (meters)
Simplify the route by discarding points that are close together. Automatic smoothing computes interval based on model shape, size, and scale.


Select map for a model of the actual route. Select linear for a straight elevation profile. Select ring for an elevation profile wrapped in a circle.

Map projection:
Basemap displayed only with Google Maps projection. Custom projections supported by Proj4js may be specified in PROJ or WKT format.

South: West: North: East: (meters)
If enabled, output is scaled to fit region to bed. Coordinate system depends on map projection. (Google Maps uses Spherical Mercator meters.)

Markers: (meters)
If enabled, a secondary model is generated representing the position of each mile or kilometer marker.


Maximum width (x): (mm)
Maximum depth (y): (mm)
Output is scaled to fit these dimensions. Area outline appears as a black border on basemap.

Path width: (mm)
Thickness of the output path.

Base height: (mm)
Extra height added to the bottom of the route model.

Then click Generate STL in the Output panel below to download the 3D model.


Parametric CAD Scripts

Remix the extruded route model by tinkering with this code. Batteries not included.

Select all, copy, and paste in

Select all, copy, and paste in OpenSCAD.


Advertisements support GPXtruder development, including bug fixes and new features.