Introduction: Create 3D Printed Terrain Maps Using Terrain2STL

The surface of our planet has been mapped in detail and this elevation data is available to the public. This means we're able to create terrain and elevation maps of anywhere on the globe - and that's really cool.

I was looking to make some generic looking terrain for a project I've been working on, and I came across Terrain2STL. It's a really cool little project that lets you select an area of the globe, and generates a .STL file of the terrain for that area.

This Instructable will walk you through the steps of getting the terrain info/STL and preparing it for printing.


  • A 3D printer + filament
  • Somewhere you want to print the terrain of

Step 1: Select Your Area

First, head over to Terrain2STL.

You'll see an interface like the one above. On the map, find the area you want to generate an STL of, and click "Center to View".

You can adjust the size of the area you want to capture under the Model Settings tab.

Once you're happy with the selected area, click Generate Model, and then Download.

Step 2: Unzip and Load Your Model

Unzip the downloaded file, and load it into your slicer of choice.

For this Instructable, I'm using Cura, a freely available slicer. Feel free to use whatever you're most comfortable with, however.

Step 3: Scale Your Model - XY Direction

The model might be a bit smaller than what you want, so we're going to scale it. First, we'll use Uniform Scaling to get it to the right size in the X-Y direction.

Play around with it a bit, and once you have it where you want it, move onto the next step.

Step 4: Scale Your Model - Z Direction

Depending on where you took the model from, the terrain might be a bit flat and not well, exciting. It might also be too flat to come out well on a 3D print - remember, most (FDM) 3D printers go down a minimum z-resolution of 0.1mm, so any features smaller than that might get erased.

First, turn off Uniform Scaling. This will allow us to adjust the Z-scale separately from the others. Scale up the Z-direction until you have the right amount of 'terrain-iness' that you want. Don't worry about the volume underneath the terrain this creates, we'll take care of it in the next step.

Step 5: Adjust the Z-Position

So now we've got a really cool looking block of terrain.

The problem is, when we scaled the Z-axis, we created a solid volume underneath our terrain. It would be a waste of filament to print this, so we're going to just get rid of it.

This step will vary from slicer to slicer (e.g, some slicers can achieve this through a setting to 'chop off' x mm from the bottom of the part), but in Cura all we need to do is move the model down in the Z-direction to the desired height.

Under the move menu, input a negative number into the Z-direction (or just drag it with your mouse). This will put part of the model 'under' the bed. When we hit slice, the part of the model underneath the bed will simply be ignored.

To verify this, go to the Preview tab after slicing, and the model preview should show only what you want printed. In this window, what you see is what you get (i.e., what you see is what will be sent to the printer).

Step 6: Print!

Once you have the model how you'd like it, go ahead and print it through whatever method your printer uses.

The end result should be a cool terrain map of anywhere on the planet! The one shown above has some issues with the top layer that could have been fixed if I set 100% infill. I was trying to finish a spool off and wanted to save filament, so that's why you see those areas where it didn't completely close off.

You can print and stitch together multiple different areas to create a larger map as well - just make sure to use the same Z-scale and Z-offset if you want them to fit together seamlessly.

Happy printing!

Maps Challenge

Participated in the
Maps Challenge