Every spot in Berlin gets a connectivity score from 0 to 100: how well you are connected
to public transport if you live there. Darker colours mean better connected. The score is calculated in two steps.
Step 1 · A score for every station
All 2,904 stations in Berlin are connected into a network from the current VBB timetable (GTFS, valid August to
December 2026): two stations are linked when a trip serves one right after the other. Four indicators describe each station:
| Indicator | What it measures | Default weight |
| Travel time | How long it takes on average to get to the stations inside the S-Bahn Ring | 40% |
| Service frequency | How many trips stop there in a regular week | 35% |
| Transfer hub | How many of the fastest routes through the network pass through it (betweenness, weighted by ride time) | 15% |
| Network reach | How few stops it is from all other stations (harmonic closeness) | 10% |
You can change the weights under Customize: for example Time only (travel time 100%) or
Network only (frequency 50%, hub 25%, reach 25%, no travel times).
The travel time uses the timetable of a regular weekday (Thursday, 3 September 2026):
- From every station, the fastest connection to each of the 524 stations inside the S-Bahn Ring (the Ring
stations included) is looked up, for departures every 5 minutes between 7 and 9 am.
- Waiting for the first train, changing trains and short walks between nearby stations count. Trips taking more than
2 hours count as 2 hours.
- The station's travel time is the average over all these trips: about 19 minutes from Friedrichstraße or 20 from Alexanderplatz, 40 from Rudow and 43 from Lichtenrade.
The raw values are very skewed: a few hubs have extreme values. So each one is first turned into a percentile rank
(0 = lowest in Berlin, 100 = highest; for travel time, 100 = fastest), then they are averaged with the weights:
station score = 0.40 × travel time + 0.35 × frequency + 0.15 × hub + 0.10 × reach
Because percentile ranks squeeze the best stations together (a station at 90 can take twice as long as one at 99),
this score is then stretched along an exponential curve: 99 stays 97, 90 becomes 73, 50 becomes 18.
The order doesn't change. Under Customize → Score scale you can switch back to the plain, linear score.
With the default settings, the median station scores 18 (50 on the linear scale), S+U-Bahn stations about 60 on
average, and the big hubs (Hauptbahnhof, Friedrichstraße, Potsdamer Platz, Alexanderplatz) 98 to 99. Hover over or tap
any station dot to see its score and the bars behind it.
The network measures follow the method of an earlier network-analysis project, recomputed on the current
timetable, with four improvements: no stops are dropped because of empty fields in the data; frequency counts the trips
of one regular week (31 August to 6 September 2026) instead of every trip in the timetable file; betweenness uses one link per pair of
stations, weighted by ride time, instead of one link per trip; and reach is measured as harmonic closeness, which also
works for small disconnected parts of the network.
Step 2 · From stations to every address
For any spot, the map looks at all stations within walking distance:
- Walking time along the real street and footpath network from OpenStreetMap, at 4.8 km/h. It was
calculated once from every station for each 50 × 50 m square of Berlin, so rivers, railway lines and fences
without a crossing count as the detours they are.
- Station strength = (station score / 100)². Squaring makes a major hub worth about four times an average
bus stop, so a cluster of weak stops can't look like a rail station.
- Walking weight falls with walking time. Under Customize you choose how to read your
walking time:
- Comfortable walk (default, 2.5–15 min): a station at that walk counts half, longer walks count less and less
(up to 2.5× the time, at most 30 min).
- Maximum walk (5–30 min): you won't walk further; a station counts half at 40% of it and not at all beyond.
With the default (10 minutes are fine):
| Walk | 0 min | 5 min | 10 min | 15 min | 20 min | 25+ min |
| Weight | 100% | 94% | 50% | 16% | 6% | ignored |
- Each station contributes strength × weight. The best three are combined, with the best counting fully,
the second half and the third a quarter:
score = 100 × [1 − (1 − c₁) × (1 − c₂/2) × (1 − c₃/4)]
Having more options helps, but with less and less effect. The score can never go above 100.
Example
A flat 5 minutes from a hub (score 99), 2 minutes from a bus stop (48) and 9 minutes from a tram stop (60):
- hub: 0.99² × 94% = 0.92
- bus stop: 0.48² × 100% = 0.23
- tram stop: 0.60² × 60% = 0.22
score = 100 × [1 − 0.08 × 0.885 × 0.946] = 94, Excellent. The same bus stop on its own would give 23 (Limited).
To specific places
Choose To specific places in the menu at the top left and add up to three places you travel to often
under My places, like your office, uni or gym.
Then all four indicators are measured towards those places instead of Berlin in general, so the whole map
shows how well each spot connects to them:
| Indicator | Towards your places |
| Travel time | Door-to-door minutes: the fastest ride to one of the stations near the place, plus the walk from there |
| Direct trips (instead of service frequency) | How many trains and buses between 7 and 9 am go to a station near the place without changing |
| On the way (instead of transfer hub) | How many of the fastest routes from all over Berlin to the place pass through the station |
| Few changes (instead of network reach) | How many changes the fastest trip to the place needs |
- All of them use the weekday timetable (7–9 am), "near the place" means within a 10-minute walk.
- With two or three places, the values are averaged by default. Spots with good connections to all of
them score highest, which often forms a band between the places. With Longest trip (fair) (below the
list of places), the worse place counts instead (the longer trip, the fewer direct trips, …): a spot
right next to one place but far from the other scores low, and spots that are similarly well connected to all places
score highest.
- The values are ranked against all stations (100 = best) and weighted as set under Customize,
for example Time only or Network only.
The card shows the trip from the selected spot to each place (walk, ride, walk), and Show calculation
lists the values towards each place for the nearby stations.
Between specific places
In this mode (menu at the top left) the map shows no score. Instead, each of your two or three places gets a card
with the trips to the other places: door-to-door minutes, changes and direct trips, the same values as under
To specific places. Both directions are shown, because the way there and back can differ (one-way streets for
buses, different waiting times). Expand a card to see the route and how the minutes add up.
How far can I get?
From a starting point, the map shows everywhere you can get with at most 1 to 4 rides, coloured by the estimated
door-to-door minutes (darker = quicker). Only stops within your walking distance (under Customize) count,
at the start and at the end.
- Rides: one ride is one train, tram or bus, for as many stops as you like. Changing starts a new ride.
- Short trips (Kurzstrecke, also as a 4-trip ticket): per ride at most 3 S-Bahn or U-Bahn stations,
changing between S-Bahn and U-Bahn allowed, or 6 bus or tram stops without changing. Regional trains don't count.
Valid for trips within Berlin (fare zones AB).
- The minutes are estimated from the timetable of a weekday morning (7–9 am): half the time between two departures
of a line as waiting time, the median ride time between the stops, and 2 minutes per change. Short walks between
nearby stations are allowed between rides.
Labels and percentages
85+ Excellent · 70–84 Very good · 55–69 Good · 40–54 Fair · 20–39 Limited · below 20 Poor.
"Better connected than X% of Berlin" compares the spot with every 50 × 50 m square inside the city borders, including forests and
lakes.
Good to know
- Only stations inside Berlin are included, so places near the city border may be better connected than shown.
- Walking times follow mapped streets and paths. Shortcuts missing from OpenStreetMap, or private ones, aren't included.
- Travel times come from the timetable of one regular weekday, so construction work or diversions on that day can affect single stations.
- Without your own places, the score compares places within Berlin in general. For travel times to particular destinations, like your office, choose To specific places in the menu at the top left.
- Travel times are averages for weekday mornings; evenings, nights and weekends usually have fewer trains and buses.
Beyond public transport
KiezScore only looks at how well a place is connected. For scores on other topics at Kiez level (quiet and air,
green spaces and heat, mobility, local shops and services, tenant protection, culture and crime), have a look at
navigator.berlin.
Auf Deutsch
KiezScore gibt es auch auf Deutsch: die ÖPNV-Anbindung für jede Adresse in
Berlin, für die Wohnungssuche.
Sources
Timetable: VBB GTFS (daten.berlin.de) · District borders: Amt für Statistik Berlin-Brandenburg via ODIS ·
Map: © OpenStreetMap contributors, OpenMapTiles, OpenFreeMap · Address search: Photon by komoot ·
Coded by @ruboin.
Like it? buymeacoffee.com/ruboin