Defensive Pedal
Defensive Pedal
Research

European Cycling Risk Ranking · 2026

Streets, Not Reputations

We scored 67 million road segments across 219 European cities with a risk model validated against 1,169 serious cycling injuries — then ranked every city, 1st to last. No votes. No policy points. Just the streets as they are built.

Stockholm #1Munich 21Malmö 38Madrid 109Zurich 135Rome 182Bucharest 207Brăila 219rank 1rank 219
Tier 1 · safest Tier 2 · middle Tier 3 · riskiest

All 219 cities in rank order. Bar height is the index (0–100, higher = lower assessed risk); colour is the tier, and the shade deepens as assessed risk rises within it. Hover any bar.

Find your city

Every dot is a ranked city, coloured by tier. Click a dot — or search — for its rank, score and what drives it. Ctrl/⌘-scroll to zoom.

The top ten

1
🇸🇪 Stockholm98
the upset — we audited it ourselves, and it held
interval 1–7
2
🇫🇮 Helsinki97
the fastest riser in Europe, by our model and everyone else's
interval 1–9
3
🇧🇪 Antwerp96
the most agreed-upon cycling city in Europe
interval 2–13
4
🇳🇱 Haarlem96
the Dutch cities the famous rankings never test
interval 1–11
5
🇳🇱 Leiden96
interval 3–13
6
🇫🇮 Vantaa96
the suburbs nobody celebrates — until you measure them
interval 2–10
7
🇳🇱 The Hague95
interval 4–18
8
🇫🇮 Espoo95
interval 3–14
9
🇳🇱 Amsterdam94
the reputation, confirmed
interval 5–17
10
🇪🇸 Barcelona93
superblocks and 30 km/h zones, measurable from orbit
interval 6–19

The number beside each city is its index; the interval is where it lands in 90% of 2,000 re-runs of the method with perturbed assumptions.

How a street gets its score

Underneath the city ranking is a score for every public road in 31 countries — 67 million of them. A street is scored on how it is actually built and used: its speed limit (including the legal default where none is signed), how much car traffic our model estimates it carries, how many lanes it has, whether heavy trucks are allowed, whether there is a protected bike track or just paint, how it is lit and surfaced, and what it forces a rider to do at junctions and crossings. All of it is read from open map data and our own data layers — no surveys, no opinions.

The quiet side street
30 km/hprotected track calm trafficno trucks

Scores at the safe end — the kind of street a network should be made of.

The ordinary high street
50 km/hpainted lane, at best steady trafficparked cars

The middle of the scale — rideable, but it depends on the rider being careful.

The urban arterial
2×2 lanesheavy traffic trucks allowednothing for bikes

The risky end — where the serious injuries concentrate.

Does the score mean anything? We checked it against reality: 4 billion measured bicycle passages and 1,169 serious injuries across 13 European regions. On streets our model puts at the risky extreme, riders are seriously hurt roughly twice as often per ride as on the streets it calls safe. It is also not an academic exercise — the same score plans safer routes in the Defensive Pedal app every day.

The exact weights are proprietary — they are the product. The ingredients and their directions are not: slower is safer, separation is safer, traffic and trucks are not. And a city cannot lobby its way up the table — the score only moves when the street does.

Three questions, one rank

A city's rank comes from asking the same three questions of all 219 cities — weighted 40/30/30 — of the streets themselves.

40%
How risky are its streets?

Every kilometre of street, averaged — plus a separate check on how much of the network sits in the highest-risk band, so a city cannot bury a few terrible arterials inside a pleasant average.

30%
How risky is a typical journey?

We simulate 210 everyday trips per city — from where people actually live to shops, schools and work — planned by the same router that guides real riders, then score the streets those routes touch. Only what the router can find counts; reputation cannot help a city here.

30%
Can daily life happen on calm streets?

For every populated square kilometre: what share of residents can reach daily destinations on a connected low-stress network? Calm islands that connect to nothing count for little — a network counts when it joins up.

Each question is answered identically in every city, from one snapshot of the model. The three answers are then combined, the scale is set by the 219 themselves, and the whole method is re-run 2,000 times with perturbed assumptions — the wobble from those re-runs is the interval printed beside every rank.

Five results that will start arguments

  1. Stockholm is first — and we audited our own headline before publishing it.
    No famous ranking puts Stockholm on the podium; the new Copenhagenize Index has it 26th. So we stress-tested our own result. It held: 64% of Stockholm's street network is explicitly signed at 30 km/h — Dutch levels (Amsterdam: 73%, Copenhagen: 6%) — its speed-limit tagging is 94% complete, its street density matches Copenhagen's, and it carries ~2,000 km of separated cycleways, the largest such network of any peer. Its one soft spot is a very low modelled traffic load — plausibly real, given two decades of congestion charging — and even if we triple that penalty to the peer level, Stockholm still finishes on the podium. What we won't claim: that it beats Helsinki. The two are one point apart with overlapping intervals. Top of the leading cluster — that, the data supports.
  2. The cycling capitals are top-20, not top-3.
    Amsterdam 9th. Paris 11th. Utrecht 14th. Copenhagen 17th. All world-class — and all measurably closer to the chasing pack than their reputations suggest. We don't score culture, mode share or ambition. On pure network risk, the gap has closed more than the folklore has.
  3. Nobody celebrates Vantaa and Espoo. The data does.
    Helsinki's suburbs rank 6th and 8th, above almost every famous cycling city in Europe. Fame-based indices never test suburbs. A risk model doesn't know what a suburb is — it just measures the paths, and Finland built them everywhere.
  4. Where rankings disagree, the injury data picks a side — ours.
    Copenhagenize puts Bordeaux 9th; we put it 116th — and Bordeaux has the worst measured serious-injury rate of any French city in our outcome panel (4.0 per 10M passages vs Paris's 1.9). They put Zurich 21st; we put it 135th — and Zurich has the worst injury rate in the entire panel (7.4). Indices that reward policy momentum measure ambition. We measure asphalt. In both checkable disagreements, the crash data sides with the asphalt.
  5. The bottom of the table is where the work is.
    14 of the last 20 cities are Romanian — Bucharest ranks 207, Timișoara 202, Brăila 219th of 219. That reads brutal, and it is. It is also, for the first time, measured — segment by segment, on the same scale as Stockholm. A gap you can measure is a gap you can close.

Us vs. the famous ranking

The Copenhagenize Index 2025 scores infrastructure plus usage plus policy. We score risk only. The two agree far more than they disagree (rank correlation 0.47 across their European top 30; 19 of their 27 European cities are in our top 50) — and where they don't, see argument #4.

1306090120UtrechtHelsinkiMünsterAntwerpBordeauxZurichStockholmCopenhagenize Index 2025 rank (their European top 30) →our rank →perfect agreement

Each dot is one of the 27 European cities in the Copenhagenize 2025 top 30. On the dashed line, the two rankings agree. Below it, we rank the city higher; above it, lower. Orange: the two disagreements where independent injury data exists — it supports the risk model in both.

Why you can trust it

0.50
Rank correlation with measured bicycle commuting share across 156 cities (Eurostat) — exactly the pre-registered validation target, on par with the best published city indices.
0.79
Serious-injury rate ratio per +10 index points across 2.6 billion measured cyclist passages (p < 0.001): higher-ranked cities really do hurt fewer riders.
2,000
Re-runs of the entire method with perturbed weights and goalposts behind every rank. The interval printed next to each city is where it lands in 90% of them.
Don’t just read the ranking — ride it.

Defensive Pedal plans bike routes that minimize risk, using the exact same score behind this page. Free on iOS and Android.

What we won't claim. Two cities with overlapping intervals are a tie — read the intervals, not just the places: Stockholm's #1 means "top of the leading cluster", not "beats Helsinki". Once you control for country, the injury association is inconclusive (five countries of outcome data can't separate a city from its nation). Rankings that carry no caveats are marketing.

The full ranking

* = straddles a tier boundary under re-specification. Index 0–100, higher = lower assessed risk. Interval = 90% rank range over 2,000 re-runs.

#CityIndexInterval
Tier 1 — lower assessed risk
1🇸🇪 Stockholm981–7
2🇫🇮 Helsinki971–9
3🇧🇪 Antwerp962–13
4🇳🇱 Haarlem961–11
5🇳🇱 Leiden963–13
6🇫🇮 Vantaa962–10
7🇳🇱 The Hague954–18
8🇫🇮 Espoo953–14
9🇳🇱 Amsterdam945–17
10🇪🇸 Barcelona936–19
11🇫🇷 Paris935–16
12🇫🇮 Tampere924–17
13🇳🇱 Eindhoven929–23
14🇳🇱 Utrecht9211–22
15🇧🇪 Brussels913–23
16🇳🇱 Rotterdam9114–24
17🇩🇰 Copenhagen898–28
18🇪🇸 San Sebastián8917–29
19🇫🇮 Turku886–24
20🇩🇪 Hanover8818–28
21🇩🇪 Munich8720–33
22🇩🇪 Bremen8618–36
23🇧🇪 Ghent8621–37
24🇩🇪 Braunschweig8423–36
25🇪🇸 Bilbao8413–44
26🇳🇱 Almere8411–36
27🇫🇷 Lyon8413–38
28🇩🇪 Lübeck8324–40
29🇳🇱 Groningen8326–37
30🇫🇷 Montpellier8225–42
31🇫🇷 Toulouse8227–44
32🇫🇷 Grenoble8027–48
33🇳🇱 Tilburg8031–46
34🇫🇷 Strasbourg7922–55
35🇫🇷 Nantes7927–52
36🇪🇸 Málaga7930–50
37🇩🇪 Münster7834–49
38🇸🇪 Malmö7812–57
39🇪🇸 Seville7824–55
40🇮🇹 Bologna7818–49
41🇪🇸 Valencia7815–67
42🇫🇷 Tours7732–65
43🇪🇸 Valladolid7637–60
44🇩🇪 Freiburg7637–58
45🇪🇸 Vitoria-Gasteiz7639–56
46🇪🇸 Sabadell7624–69
47🇪🇸 Zaragoza7544–56
48🇩🇪 Duisburg7538–62
49🇦🇹 Vienna7436–77
50🇪🇸 Palma7448–59
51🇩🇪 Berlin7437–63
52🇩🇪 Mannheim7440–73
53🇪🇸 Pamplona7345–72
54🇫🇮 Oulu7210–81
55🇪🇸 Córdoba7244–70
56🇫🇷 Lille7151–79
57🇩🇪 Bonn7043–87
58🇩🇪 Düsseldorf7055–73
59🇩🇪 Magdeburg7055–77
60🇸🇮 Maribor7047–73
61🇳🇴 Trondheim7046–73
62🇳🇴 Oslo7040–81
63🇦🇹 Graz7053–80
64🇩🇪 Augsburg6954–74
65🇫🇷 Nancy6938–108
66🇩🇰 Odense6923–89
67🇩🇪 Kiel6862–82
68🇭🇺 Szeged6863–75
69🇪🇸 Elche6865–76
70🇪🇸 Gijón6848–84
71🇩🇪 Cologne*6761–91
72🇩🇰 Aarhus*6743–90
73🇪🇸 Murcia*6761–85
Tier 2 — middle
74🇩🇪 Oberhausen*6652–103
75🇫🇷 Rennes*6661–100
76🇪🇸 A Coruña6661–101
77🇵🇱 Białystok*6561–102
78🇩🇪 Halle (Saale)*6570–94
79🇪🇸 Alicante6576–89
80🇵🇱 Wrocław*6566–99
81🇱🇺 Luxembourg6473–99
82🇸🇮 Ljubljana6476–96
83🇩🇪 Karlsruhe6476–106
84🇩🇪 Hamburg6368–112
85🇸🇪 Uppsala*6218–131
86🇳🇴 Bergen6270–113
87🇵🇱 Gdańsk6188–103
88🇳🇴 Stavanger6175–117
89🇩🇪 Krefeld6181–118
90🇪🇸 Vigo6176–127
91🇪🇸 Almería6191–108
92🇭🇺 Debrecen6071–119
93🇵🇱 Łódź6088–113
94🇩🇪 Leipzig6081–123
95🇩🇪 Rostock6080–123
96🇵🇱 Toruń6085–127
97🇫🇷 Angers6073–133
98🇩🇪 Mainz6088–127
99🇩🇪 Nuremberg6095–116
100🇩🇪 Gelsenkirchen6093–121
101🇪🇸 Terrassa6085–126
102🇪🇸 Jerez de la Frontera5997–117
103🇪🇪 Tallinn5953–130
104🇭🇺 Budapest5978–124
105🇮🇸 Reykjavik5989–129
106🇫🇷 Orléans5998–124
107🇳🇱 Alkmaar5980–140
108🇨🇭 Bern5967–144
109🇪🇸 Madrid5982–127
110🇫🇷 Clermont-Ferrand5993–128
111🇵🇱 Warsaw5867–137
112🇨🇭 Geneva5893–126
113🇦🇹 Linz5884–141
114🇲🇹 Valletta5865–151
115🇪🇸 Granada5890–140
116🇫🇷 Bordeaux58100–132
117🇮🇹 Venice5762–142
118🇩🇪 Aachen5789–145
119🇵🇱 Gdynia56114–130
120🇮🇹 Florence5688–137
121🇵🇱 Poznań56106–141
122🇩🇪 Frankfurt56114–135
123🇧🇪 Liège5691–147
124🇪🇸 Oviedo5666–157
125🇩🇪 Mönchengladbach56106–142
126🇵🇱 Lublin5595–141
127🇩🇪 Dortmund55103–138
128🇸🇪 Gothenburg5596–150
129🇵🇱 Kraków55114–136
130🇫🇷 Rouen5490–159
131🇮🇪 Dublin54107–143
132🇩🇪 Bielefeld54112–145
133🇩🇪 Stuttgart54113–152
134🇸🇰 Bratislava53119–143
135🇨🇭 Zurich52120–153
136🇩🇪 Kassel52109–168
137🇮🇹 Turin*5124–167
138🇵🇱 Rzeszów51135–150
139🇫🇷 Toulon*51118–155
140🇱🇻 Riga51120–150
141🇮🇹 Parma*5167–166
142🇵🇱 Bydgoszcz*51120–155
143🇮🇹 Bergamo*51111–153
144🇩🇪 Dresden*51113–160
145🇫🇷 Reims*50133–160
146🇩🇪 Essen*50133–157
Tier 3 — higher assessed risk
147🇨🇭 Basel*50125–164
148🇵🇱 Szczecin*49137–159
149🇩🇪 Bochum*48121–168
150🇪🇸 Cartagena*48135–165
151🇭🇷 Zagreb*48136–164
152🇫🇷 Le Havre*48144–159
153🇨🇿 Prague*48143–158
154🇨🇭 Lausanne*47112–175
155🇮🇹 Pescara*47128–162
156🇱🇹 Vilnius47149–162
157🇮🇹 Verona*46124–166
158🇪🇸 Alcalá de Henares46139–173
159🇫🇷 Nice45145–165
160🇮🇹 Brescia*45103–176
161🇩🇪 Wuppertal44147–177
162🇩🇪 Erfurt44158–169
163🇵🇱 Częstochowa43135–182
164🇵🇱 Katowice43159–169
165🇫🇷 Marseille42159–171
166🇵🇱 Radom42150–175
167🇩🇪 Chemnitz42157–176
168🇮🇹 Prato41125–185
169🇨🇿 Brno40168–175
170🇬🇷 Thessaloniki40134–187
171🇱🇹 Kaunas40165–176
172🇧🇬 Plovdiv40110–187
173🇨🇿 Ostrava39145–181
174🇸🇰 Košice39166–176
175🇮🇹 Genoa38157–191
176🇩🇪 Wiesbaden37165–188
177🇮🇹 Milan37162–184
178🇧🇬 Varna36169–183
179🇷🇴 Cluj-Napoca36171–183
180🇮🇹 Padua35176–187
181🇵🇹 Lisbon34147–193
182🇮🇪 Cork33179–189
183🇵🇹 Porto32169–196
184🇧🇬 Sofia32182–189
185🇮🇹 Rome32176–193
186🇫🇷 Dijon31174–196
187🇧🇪 Charleroi31178–192
188🇮🇹 Naples29173–200
189🇮🇹 Trieste29188–194
190🇮🇹 Palermo29186–196
191🇵🇹 Sintra28181–198
192🇮🇹 Cagliari28184–196
193🇷🇴 Arad27187–197
194🇷🇴 Satu Mare27170–208
195🇷🇴 Oradea26172–205
196🇨🇾 Nicosia26193–198
197🇷🇴 Targu Mures24189–201
198🇮🇹 Messina24169–209
199🇷🇴 Brasov23191–201
200🇧🇬 Burgas22189–209
201🇷🇴 Sibiu22198–201
202🇷🇴 Timisoara20200–204
203🇷🇴 Constanta18202–207
204🇬🇷 Athens17203–208
205🇵🇹 Braga17200–210
206🇮🇹 Bari17203–210
207🇷🇴 Bucharest16201–209
208🇷🇴 Baia Mare16201–210
209🇮🇹 Catania15193–214
210🇷🇴 Bacau13203–212
211🇭🇷 Split12203–214
212🇷🇴 Pitesti11207–213
213🇷🇴 Craiova9211–214
214🇷🇴 Galati7212–215
215🇷🇴 Iasi3215–218
216🇷🇴 Botosani2214–219
217🇷🇴 Buzau2215–219
218🇷🇴 Ploiesti2215–219
219🇷🇴 Braila0218–219

For the cities on this list

Every city here can get what this page only summarizes: a street-by-street diagnosis of where its cycling risk lives and what drives it — the same decomposition behind this ranking. We work with municipalities on three things: street-level diagnosis (which streets, which factor, what to fix first), an interactive risk map of your city (see the live Bucharest sample), and before/after measurement of what you build — because a gap you can measure is a gap you can close, and re-measure.

Email us about your city victor [at] defensivepedal [dot] com

Work for a city? Street-level cycling intelligence for your municipality — get in touch.

Method in one line: every scored road segment of the production Defensive Pedal risk model (the one that plans real routes today) is aggregated per city across three pillars — street network risk, the risk of 210 simulated journeys, and low-stress accessibility — normalised on the 219-city sample and stress-tested 2,000 times. Roads above 80 km/h and carriageways with a mandatory parallel path don't count against a city's streets; cities are official municipal boundaries.

Full technical report, criterion analysis and every caveat: The European Cycling Risk Study (open access, DOI 10.5281/zenodo.22771452) · Defensive Pedal Research, 2026. Study archived at DOI 10.5281/zenodo.22771452 (CC-BY-4.0). External reference: Copenhagenize Index 2025 — EIT Urban Mobility Edition.