The average train between Viareggio and Milan takes 5h 19m and the fastest train takes 4h 16m. There is a train service every few hours from Viareggio to Milan. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 2 hours between Viareggio and Milan. The earliest departure is at 5:30 AM in the morning, and the last departure from Viareggio is at 10:00 PM which arrives into Milan at 9:25 AM. All services require a transfer, and take on average 5h 19m. The schedules shown below are for the next available departures.

4h 16m • 1 change

4h 50m • 1 change

5h 18m • 1 change

4h 52m • 1 change

4h 50m • 1 change

4h 16m • 1 change

4h 50m • 1 change

5h 18m • 1 change

4h 50m • 1 change

4h 16m • 1 change

4h 50m • 1 change

5h 18m • 1 change

4h 50m • 1 change

4h 16m • 1 change

4h 50m • 1 change

5h 18m • 1 change
Want to know about travelling from Viareggio to Milan? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Viareggio to Milan. However, there are services departing from Viareggio station and arriving at Milan station via Firenze S.M.N.. The journey, including transfers, takes approximately 5h 19m.
Viareggio to Milan train services, operated by Trenitalia, depart from Viareggio station.
Viareggio to Milan train services, operated by Trenitalia, arrive at Milano Centrale station.
Book your Viareggio to Milan train tickets online with Trenitalia and Trenitalia Frecce.
The distance between Viareggio and Milan is 196.4 km. The road distance is 403 km.
You can take a train from Viareggio to Milano Centrale via Firenze S.M.N. in around 3h 55m.