Zurich Isochrones

Zurich's public transport: a big step up to 2024, flat since

From 2022 to 2024, Zurich became clearly better connected: in those two years, about 19 % more residents and 23 % more full-time jobs came within a 30-minute public transport trip. Since then the average has barely changed. Major construction projects are slowing down how well the city and its agglomeration are connected.

The map below colours Zurich by travel time from Zürich HB, walking and waiting included: switch between 2022, 2024, 2026 and 2027, drag the start anywhere or click to set a destination.

Map

Pick a start and a destination on the map, the timetable year and how the map looks.

© OpenStreetMap contributors · swisstopo · BFS · opentransportdata.swiss

Content
Mode
Timetable
Network
Display
Base map
Isochrones
45 min

Across the years

This start (and destination) on each timetable year, 2022 → 2027.

Reach from everywhere

Every hexagon is a starting point: what you reach from there by public transport.
Network
Measure
Travel time
Timetable

From
To

Click a hexagon to start the map at the top from there.

How these maps are made

The map is cut into 2,461 hexagons of the H3 grid (resolution 9, about 0.1 km² each). From the centre of each one, the same model as the map at the top computes the travel time to every 200 m cell, on each timetable year: walk to the nearest stations, wait, ride, change, walk on, or walk the whole way.

A hexagon's colour is the number of residents or of full-time jobs within the chosen travel time. Residents and full-time jobs are those of each timetable year (STATPOP 2022 for the 2022 timetable, 2024 for the 2024 timetable, 2025 for the 2026–2027 timetables; STATENT 2022 for the 2022 timetable, 2024 for the 2024–2027 timetables), so a change between two years combines the network with people moving and jobs appearing or going.

« With buses » uses every line in the timetable, city buses, regional buses and lake boats included, as with « Bus and boat » ticked on the map. Inside the city the buses matter most: from the median hexagon in the twelve Kreise they add 38 % more residents within 30 minutes (2026). The other choice is the map's default network, tram, S-Bahn and train only.

The colour classes stay the same across years, so two years can be compared by eye. The change map counts small differences as « about the same ».

The network over time

From 2022 to 2024 Zurich becomes better connected, then come years of stagnation from major construction projects. What will the network look like once they are all finished?
2022 → 2024
+19.1 %Residents
+23.0 %Full-time jobs
78 % of places reach over 5 % more residents, 1 % over 5 % fewer
2024 → 2026
+0.7 %Residents
−0.5 %Full-time jobs
17 % of places reach over 5 % more residents, 11 % over 5 % fewer
2026 → 2027 (draft)
−0.9 %Residents
−0.1 %Full-time jobs
9 % of places reach over 5 % more residents, 15 % over 5 % fewer

Within 30 min of the average starting point, with buses (all hexagons of « Reach from everywhere » above), each year with its own residents and full-time jobs. The insights below measure from Zürich HB only, where the 2026 construction work weighs more.

Insights

Show as table
TimetableDayTram linesRail stops Stops within 30 minResidents within 30 minFull-time jobs within 30 minFull-time jobs in the region
202225 October 20221426593%412k478k577k (2022)
202422 October 20241628988%430k488k597k (2024)
202620 October 20261928685%422k485k597k (2024)
2027 (draft)23 November 20271628089%434k493k597k (2024)

2022: before the Limmattalbahn's second stage (tram 20 to Killwangen, December 2022). 2026: the SZU lines S4 and S10 start at Zürich Selnau instead of Zürich HB (works on the HB–Selnau section), which puts the Sihltal stops about 10 minutes further from HB and the S10 stops in town (Giesshübel, Triemli) 11–12 minutes; Uetliberg itself barely changes. Trams run diversions for construction work (temporary lines 50 and 51). Of the 314 tram and rail stops, 215 changed by a minute or less. 2027: first published version of the timetable, with fewer trips than the final one. 2022 and 2024 come from the Mobility Database's archive of the Swiss feed.

Why the counts change from year to year

Across the whole map, almost all the gain came between 2022 and 2024 (+19.1 % residents and +23.0 % full-time jobs within 30 min of the average starting point, most of it the network: the map's residents grew 2.4 %); after that the average barely moves (+0.7 % 2024→2026, −0.9 % 2026→2027). That period includes the Limmattalbahn's second stage (December 2022). Since then gains and losses roughly cancel out: by 2026, 17 % of places reach over 5 % more residents and 11 % over 5 % fewer. The 2026 timetable has the SZU construction and tram diversions described below, and 2027 is a draft with fewer trips than the final timetable, so the plateau is not yet a decline.

Residents and full-time jobs are those of each timetable year, so a change in either combines the network with where people live and work; set the full-time jobs against the region's total in the last column. Where two years share a grid (full-time jobs from 2024, residents from 2026), the change is the network alone.

For scale, "Full-time jobs in the region" is the actual STATENT count (full-time equivalents) for the map's municipalities in each year, or the latest published year where none exists yet (STATENT 2024 is the newest): the region went from 577,033 full-time jobs in 2022 to 596,632 in 2024, +19,599.

2024 → 2026: residents within 30 min go from 429,785 to 422,192 (−7,593), full-time jobs from 488,470 to 485,487. The SZU lines S4 and S10 no longer call at Zürich HB SZU but start at Selnau (works on the HB–Selnau section), so the Sihltal and the S10 stops in town need an extra change from HB, and Adliswil, Leimbach, Manegg, Sood-Oberleimbach and Triemli slip past 30 minutes; trams also run construction diversions (temporary lines 50 and 51). The core got faster at the same time: residents within 15 min went from 78,939 to 81,811 (+3.6 %, while the map's residents grew 0.9 %).

Each year is one reference weekday of the published timetable, 7:00–20:00, with no delays or disruptions, so a diversion running on that day shows up in that year's figures.

Within reach

Residents and full-time jobs inside the isochrones ticked above.

Travel timeResidentsFull-time jobs
What these resident and full-time job counts mean

Both move with the timetable year. Residents are the BFS STATPOP grid (STATPOP 2022 for the 2022 timetable, 2024 for the 2024 timetable, 2025 for the 2026–2027 timetables; permanent residents, by home address); full-time jobs the STATENT grid (STATENT 2022 for the 2022 timetable, 2024 for the 2024–2027 timetables; full-time equivalents of all sectors, counted where people work). The map covers the city of Zurich and neighbouring municipalities: 723k residents and 601k full-time jobs in all on the 2026 timetable, more than the city alone.

Full-time jobs are full-time equivalents: two half-time posts count as one. Staff are counted at the workplace their employer registers, which for firms with several sites is not always where they actually sit.

The BFS rounds small hectare counts for privacy, and each 100 m hectare goes to the 200 m map cell its centre falls in, so figures for a few streets are rough; totals over a whole isochrone hold up much better.

Switching timetable years changes how far the network reaches and also where people live and work. Where two timetables share a grid (full-time jobs from 2024 on, residents from 2026 on), the difference between them is the network alone.

Zurich in numbers

From Zürich HB, on a weekday of the 2026 timetable.
85%of the tram and rail stops within 30 min of Zürich HB
286tram and rail stops on the map
5.4 minbetween two trams on line 4, the most frequent
58 minfrom Zürich HB to Felsenegg, the farthest stop
53 minAdliswil (Luftseilbahnstation) is the runner-up. So close.
Tram, S-Bahn and funicular lines ZVV
LineStopsEveryOfficial data
2 Tram30~7.5 minZVV timetable
3 Tram24~7.5 minZVV timetable
4 Tram43~5.4 minZVV timetable
5 Tram31~7.4 minZVV timetable
6 Tram19~7.4 minZVV timetable
7 Tram31~7.5 minZVV timetable
8 Tram55~7.5 minZVV timetable
9 Tram42~7.5 minZVV timetable
10 Tram29~7.5 minZVV timetable
11 Tram36~7.5 minZVV timetable
12 Tram22~15 minZVV timetable
13 Tram34~5.5 minZVV timetable
14 Tram12~7.5 minZVV timetable
15 Tram20~7.5 minZVV timetable
17 Tram32~7.5 minZVV timetable
18 Tram14~15 minZVV timetable
20 Tram25~15 minZVV timetable
50 Tram48~7.5 minZVV timetable
51 Tram55~7.5 minZVV timetable
S2 S-Bahn6~30 minZVV timetable
S3 S-Bahn9~30 minZVV timetable
S4 S-Bahn11~14.4 minZVV timetable
S5 S-Bahn9~30 minZVV timetable
S6 S-Bahn17~30 minZVV timetable
S7 S-Bahn9~30 minZVV timetable
S8 S-Bahn10~30 minZVV timetable
S9 S-Bahn11~30 minZVV timetable
S10 S-Bahn8~20 minZVV timetable
S11 S-Bahn8~30 minZVV timetable
S12 S-Bahn9~30 minZVV timetable
S14 S-Bahn11~30 minZVV timetable
S15 S-Bahn9~30 minZVV timetable
S16 S-Bahn12~30 minZVV timetable
S17 S-Bahn8~15 minZVV timetable
S19 S-Bahn6~30 minZVV timetable
S20 S-Bahn4~30 minZVV timetable
S21 S-Bahn5~30 minZVV timetable
S23 S-Bahn2~30 minZVV timetable
S24 S-Bahn11~30 minZVV timetable
S42 S-Bahn3~30 minZVV timetable
23 Funicular5~6 minZVV timetable
24 Funicular2~5 minZVV timetable
25 Funicular4~11.3 minZVV timetable
26 Cable car2~16.2 minZVV timetable

Questions

How the times are computed, and where the data comes from.
How long does it take to cross Zurich by public transport?

From Zürich HB, 34% of the 286 tram and rail stops on the map are less than 15 minutes away and 85% less than 30 minutes, walking and waiting included. The farthest, Felsenegg, takes about 58 minutes.

Where do the timetables come from?

From the official Swiss timetable published by opentransportdata.swiss (GTFS), clipped to the Zurich area, downloaded on 5 October 2026 and valid until 12 December 2026. Times are those of Tuesday 20 October 2026, between 7:00 and 20:00.

Are buses included?

Yes, as an option: tick « Bus and boat » under the map. By default only trams, S-Bahn and trains, funiculars and the Adliswil–Felsenegg cable car are used. Waits at rarely served stops are capped at 15 minutes.

How are travel times computed?

Walk to the stop at 4.5 km/h in a straight line, wait half the interval between two departures, ride for the scheduled time between stops, change with 1.5 minutes of walking, and allow 1.5 minutes to reach a railway platform. On a section that several lines share (HB to Hardbrücke, tram trunks) the rider takes whichever comes first and changes where the lines split; a stop served by one line waits for that line. No real-time data or disruptions: this is the city « on paper ».

Do hills and the lake count?

Yes. Walking is slower uphill and a little faster on gentle descents (Tobler's hiking function on swisstopo elevation), and no walk crosses the Zürichsee, Greifensee or Türlersee. Rivers count as crossable, since bridges are close together in town.

How are bike times computed?

On the streets open to bicycles in OpenStreetMap, one-way streets included where cycling against the traffic is allowed: 20 km/h on the flat, about 10 km/h on a 5 % climb, 25 km/h on a 3 % descent and 30 km/h on 5 % or steeper, plus a minute to unlock and a minute to park. The street network comes from the GIS_playground_ZH cycling project.

Where do the resident and full-time job figures come from?

From the Federal Statistical Office's hectare grids, each timetable year with its own: STATPOP 2022 for the 2022 timetable, 2024 for the 2024 timetable, 2025 for the 2026–2027 timetables (permanent residents) and STATENT 2022 for the 2022 timetable, 2024 for the 2024–2027 timetables (full-time equivalents, all sectors; newer grids are not published yet). Each 100 m square is added to the 200 m map cell it falls in; small counts are rounded by the BFS for privacy, so totals are approximate. The table under the map sums the cells reached within each isochrone.

Why do some tram lines look unusual?

The timetable is the published one for the reference day, construction diversions included (lines 50 and 51 in 2026, for example).

Data sources
Timetables (GTFS)
Swiss national timetable, published by opentransportdata.swiss (terms of use); older years from the Mobility Database archive. Clipped to the Zurich area.
Municipal and district boundaries
swissBOUNDARIES3D (swisstopo, via api3.geo.admin.ch) and the 12 Stadtkreise from Stadt Zürich Open Data, downloaded 5 October 2026. Open government data.
Residents
STATPOP 2022 for the 2022 timetable, 2024 for the 2024 timetable, 2025 for the 2026–2027 timetables hectare grids, Federal Statistical Office (BFS) via data.geo.admin.ch, downloaded 10 October 2026.
Full-time jobs
STATENT 2022 for the 2022 timetable, 2024 for the 2024–2027 timetables hectare grids (full-time equivalents, all sectors), BFS via data.geo.admin.ch, downloaded 7 October 2026.
Full-time jobs in the region
BFS STAT-TAB table px-x-0602010000_102 (STATENT full-time equivalents by municipality and year), summed over the map's municipalities, downloaded 10 October 2026.
Elevation
swisstopo terrain model (swissALTI3D / DHM25) sampled every 100 m through the geo.admin.ch profile service, downloaded 5 October 2026.
Lines, lakes, parks and cycling streets
© OpenStreetMap contributors (ODbL), via the Overpass API, downloaded 5 October 2026.
Base map
Faint street layer drawn from the same OpenStreetMap network as the bike layer (major roads, streets and paths; service roads left out), © OpenStreetMap contributors. Untick « Streets » to hide it.
Bus lines
Drawn from OpenStreetMap bus and trolleybus route relations, matched to the timetable by line number (the Swiss GTFS has no line shapes); shown with « Bus and boat ».
Hexagons
H3 grid (Apache 2.0), resolution 9, via the h3 Python library; reach computed by build_h3.py from the same timetables.
Method
Fork of À portée de tram by Camille Roux (MIT). Full provenance (URLs, SHA-256, dates) in sources/.