Winter style

Ski maps with the pistes, lifts and run numbers on them

A winter basemap built from OpenStreetMap piste and aerialway data. Runs are graded by difficulty, lifts are drawn and labelled by type, and the contour lines switch to a single colour so they stay readable against snow.

https://styles.maptoolkit.org/winter.json
Winter map of the Les Houches ski area above Chamonix: pistes coloured blue and red by difficulty and labelled by run name, chair lifts and gondolas drawn as lines with pylon markers, contour lines over shaded relief.
What is in the style

Everything a piste map needs, already drawn

The Winter style carries 118 layers. These are the ones that make it a ski map rather than a basemap with snow colours.

Runs graded by difficulty

Downhill pistes are drawn as lines with casing and as polygons where the area is mapped, coloured blue, red, then advanced and freeride on the European convention. Snow parks get their own colour.

Nordic trails, separately

Cross-country pistes are their own layer with four difficulty levels, so nordic areas do not have to borrow the alpine colours to be legible.

Eight kinds of lift

Gondolas, cable cars, mixed lifts, chair lifts, drag lifts, platters, T-bars and J-bars, each drawn by type and labelled. Lifts also render in the other outdoor styles, which matters for summer walking routes that start at a lift station.

Run numbers

Where OpenStreetMap has a reference on the piste, the number is labelled. People navigate a resort by run number, so this is the difference between a map that looks right and one that can be used on the mountain.

Contours that read on snow

The other outdoor styles use multicoloured contour lines. Winter switches to a single colour, because coloured contours over white lose contrast exactly where the terrain matters most.

Hillshading and relief

Global hillshading and elevation shading are in the style itself, with no extra source to configure. Add -3d to the URL for terrain relief.

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.

Resort and tourism maps

Built for ski regions

Pistes, lifts and run numbers come from OpenStreetMap and update weekly, so a new lift or a re-graded run reaches your map without a data pipeline of your own.

import * as maplibregl from 'maplibre-gl';

const map = new maplibregl.Map({
  container: 'map',
  style: 'https://styles.maptoolkit.org/winter.json',
  center: [6.74245, 45.88470],
  zoom: 13.15,
  // Required: the copyright line must stay visible, and the compact
  // control collapses it behind a button on narrow screens.
  attributionControl: { compact: false }
});

That is the whole integration. No API key, no sign-up, and no request quota to track while a season peak is running.

MapMaker

Make it your resort's map

Open the Winter style in MapMaker and change the piste colours, the typography 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 Winter style open in MapMaker, showing the style editor beside a ski area with graded pistes.
Questions

Frequently asked questions about Maptoolkit Winter

Is piste difficulty colour-coded?

Yes, on the European convention: blue for easy, red for intermediate, then advanced and freeride, with snow parks in their own colour. Nordic pistes are graded separately across four levels. The colours are driven by the piste type in the data, so they stay consistent everywhere in the world rather than depending on local mapping habits.

Which lift types are drawn?

Gondolas, cable cars, mixed lifts, chair lifts, drag lifts, platters, T-bars and J-bars, each with a label. Enough to build a resort map without sourcing lift data separately.

Are run numbers shown?

Where OpenStreetMap has a reference number on the piste, yes. People navigate a resort by run number rather than by name, so a piste map without them is harder to use than it looks.

Is there snow depth, avalanche or lift status data?

No. None of it is in the tiles. It is live operational data that changes through the day and comes from a different source in every region, so it belongs in a layer you add on top of the basemap.

Does the map work in summer?

The Winter style is drawn for snow cover, so it reads wrong in July. Switch the style URL by season and nothing else in your code changes. The Hiking style is the usual summer counterpart, and it renders the same lifts.

Can I use it for a ski resort's own website?

Under the Community License, yes, if the organisation is under EUR 1 million annual consolidated revenue and has fewer than 10 full-time employees. Most resorts are past both, and the commercial tiles on maptoolkit.com cover them. The same cartography already runs for Deutsche Bahn, Red Bull Media House and the Austrian and German national tourism offices.

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.