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
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.
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.
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.
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.