Train from Milan to Altdorf
🇮🇹 Milan → 🇨🇭 Altdorf
Straight-line Distance
161 km
NNW (344.3°)
Rail Distance
~209 km
Estimated by rail
Travel Time
~55m
High_Speed
CO2 Saved vs Flight
91.3%
37.3 kg less CO2
Environmental Comparison
Train
High_Speed
Flight
Economy class
Taking the train saves 37.3 kg CO2 (91.3% less emissions)
Route Information
Stations on This Route
Journey Tips
Altdorf, the capital of Uri canton and home of the William Tell legend, is reached from Milan via Arth-Goldau or Flüelen on Lake Uri. SBB trains cover the journey with a change typically at Lugano or Bellinzona. The small town is an underrated stop on the Gotthard axis.
Scenic Highlight
The approach to Altdorf through the Uri valley reveals the iconic silhouette of the Uri Alps, with the Bristenstock and Grosse Scheidegg visible against the skyline above the valley floor.
Booking Tip
Use the SBB app for seamless booking; the Swiss Travel Pass is valid on all connecting services and removes the need to purchase regional tickets separately for the Uri valley section.
Related Guides
Continue Your Journey
Frequently Asked Questions
Train vs Flight comparison
Compare door-to-door time, CO2 and cost for Milan to Altdorf
Explore on Sister Sites
Data last updated: 2026-02-27