Hiking maps

Hiking maps built on OpenStreetMap trail data

Waymarked routes with their shields, nine separate path layers, contour lines and four passes of hillshading. One style URL, no API key, no sign-up.

Hiking map of the Sella group in the Dolomites: waymarked routes drawn as dashed red lines carrying the shields AV9, 656 and 627, a route running to the summit of Piz Boe at 3152 metres, a cable car, contour lines and shaded rock faces.
map.setStyle("https://styles.maptoolkit.org/hiking.json");
What is in the style

Built to put the trail first

The Hiking style carries 132 layers: six for waymarked routes and their shields, nine for paths, three for contours and four for hillshading.

Waymarked routes and shields

Six layers are dedicated to hiking routes, including the numbered shields. A waymarked long-distance route reads as one continuous line carrying its own reference, not as a chain of unrelated path segments.

Nine path layers

Paths, tracks and footways are drawn across nine layers, separated by type and by whether they run in a tunnel or over a bridge, so a via ferrata does not look like a forest road.

Difficulty grades in the data

sac_scale, mtb_scale and via_ferrata_scale come through on the road layer. A generic free basemap does not carry them, which is the whole argument for using this one.

Contours and four hillshade passes

Three contour layers and four hillshade passes, plus rock texture on steep ground and a bathymetry layer for water depth. All in the style, with no extra source to configure.

Walking node networks

Numbered walking node networks, the junction-to-junction system used across the Benelux and parts of Germany, get their own label layer, so the numbers stay legible at the zooms people plan routes at.

Aerialways all year

Gondolas, cable cars and chair lifts render with labels in summer as well as winter, which matters when a route starts at a lift station.

Every map using these tiles keeps the Maptoolkit logo and the copyright line visible. The attribution guide covers the exact requirement and the drop-in plugins for MapLibre and Leaflet.

The outdoor data

Filter paths by how hard they are

The difficulty grades sit on the road layer as ordinary fields, so styling by them takes one filter expression. The Hiking style deliberately does not colour by difficulty: that is a product decision, and it is yours.

// Pick out anything above SAC T3, so an easy-walking audience
// is not sent up something that needs hands.
// sac_scale comes through as T1 to T6.
map.addLayer({
  id: 'hard-paths',
  type: 'line',
  source: 'mtk',
  'source-layer': 'road',
  filter: ['in', ['get', 'sac_scale'], ['literal', ['T4', 'T5', 'T6']]],
  paint: {
    'line-color': '#9E4130',
    'line-dasharray': [2, 2],
    'line-width': 1.6
  }
});

// via_ferrata_scale is graded A to E, so the same filter shape
// separates a walk-up from a route that needs a harness.

The full field list, the values each grade takes and the network membership tags are in the outdoor tags reference.

Your own data

Put your routes on top

This is a plain MapLibre style, so your own tracks are a GeoJSON source and a line layer. Nothing about the tiles constrains what you draw over them, and converting GPX to GeoJSON is a client-side step.

map.addSource('my-route', { type: 'geojson', data: routeGeoJson });

map.addLayer({
  id: 'my-route-line',
  type: 'line',
  source: 'my-route',
  layout: { 'line-cap': 'round', 'line-join': 'round' },
  paint: { 'line-color': '#E8551A', 'line-width': 4 }
});
MapMaker

Make it your trail map

Open the Hiking style in MapMaker and change the path colours, the contour weight or the whole palette. Easy Mode works through the design system with no JSON involved, Expert Mode opens the style code directly. In our opinion MapMaker is among the best map style editors available right now, and it is free to use with these tiles.

The Hiking style open in MapMaker, showing the style editor beside the Sella group with its waymarked routes.
Questions

Frequently asked questions about Maptoolkit Hiking

Which trails actually show up?

Anything mapped in OpenStreetMap as a path, track or footway, plus waymarked route relations. Routes get their own layers and shields, so a long-distance trail reads as one continuous line with its number on it rather than a chain of unrelated paths.

Is trail difficulty available?

Yes, in the data. The road layer carries sac_scale, mtb_scale and via_ferrata_scale straight from OpenStreetMap, so you can filter or recolour by grade. The shipped Hiking style does not colour by difficulty; that decision is left to you.

Can I draw a GPX track over it?

It is a normal MapLibre style, so add a GeoJSON source and a line layer. Nothing about the tiles restricts what you draw on top.

Are cable cars and lifts on the hiking map?

Yes. Aerialways render year round in every outdoor style, with labels, which matters for routes that start or finish at a lift station.

Do I have to use the Hiking style to get contours?

No. Summer and Cycling carry the same three contour layers. What Hiking does differently is push paths and route shields forward, hold the road network back, and use four hillshade passes instead of one.

Is the path surface in there?

The surface tag comes through on the road layer, so you can tell a gravel forest track from a paved lane. Coverage depends on what OpenStreetMap contributors have tagged in that area, which is uneven.

How current is the trail data?

Weekly. A path or route mapped in OpenStreetMap today reaches the tiles within the week, with no pipeline of your own to maintain.

What are the rate limits?

Unregistered traffic gets 120 tiles per second sustained and 200 in burst per website, with a 40 tiles per second cap per visitor IP. Cached tiles do not count, and the edge cache absorbs most requests. There is no SLA on the community service, so it is not the right choice behind anything life-safety or billing-critical.

More outdoor styles

The rest of the outdoor range

Ski and winter maps

Colour-coded piste difficulty, nordic trails, eight lift types and run numbers.

All seven styles

Summer, Winter, Hiking, Cycling, Street, Light and Dark, each with a 3D variant and 13 language versions.

3D terrain

Add -3d to the style name for terrain, already configured against the same elevation model.