There are 8 ways to get from Perugia to Locarno by train (Trenitalia), bus, car, train, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Perugia to Firenze S.M.N.train
- Take the train from Firenze S.M.N. to Milano Centraletrain Fr
- Take the train from Milano Centrale to Locarnotrain
6h 59mCHF 75–158Bus, train
cheapest- Take the bus from Perugia Train Station Bus Stop to Milanbus Itabus
- Take the train from Milano Centrale to Locarnotrain Re80
8h 53mCHF 31–51Bus
- Take the bus from Perugia to Florencebus FlixBus N504
- Take the bus from Florence Villa Constanza Bus Station to Bellinzonabus
7h 44mCHF 78–112Drive 555.1 km
- Drive from Perugia to Locarnocar 555.1 km
5h 37mCHF 94–135Train to Fiumicino International Airport, fly to Milan Linate Airport, train
- Take the train from Perugia to Roma Terminitrain
- Fly from Fiumicino International Airport (FCO) to Milan Linate Airport (LIN)plane FCO - LIN
- Take the train from Monza to Locarnotrain
9h 6mCHF 80–221Train to Fiumicino International Airport, fly to Milano Malpensa Airport, train
- Take the train from Perugia to Roma Terminitrain
- Fly from Fiumicino International Airport (FCO) to Milano Malpensa Airport (MXP)plane FCO - MXP
- Take the train from Malpensa Aeroporto T1 to Mendrisiotrain
- Take the train from Mendrisio to Locarnotrain
8h 37mCHF 75–261Train to Florence Peretola Airport, fly to Zurich Airport, train
- Take the train from Perugia to Firenze S.M.N.train
- Fly from Florence Peretola Airport (FLR) to Zurich Airport (ZRH)plane FLR - ZRH
- Take the train from Zürich HB to Bellinzonatrain
8h 38mCHF 160–371Train to Raffaello Sanzio Airport, fly to Milan Linate Airport, train
- Take the train from Foligno to Jesitrain
- Fly from Raffaello Sanzio Airport (AOI) to Milan Linate Airport (LIN)plane AOI - LIN
- Take the train from Monza to Locarnotrain
8h 42mCHF 108–365
Perugia to Locarno by train
Comparing Your Travel Options
The cheapest way to get from Perugia to Locarno is to bus and train which costs SFr 30 - SFr 55 and takes 8h 53m.
The fastest way to get from Perugia to Locarno is to drive which takes 5h 37m and costs SFr 90 - SFr 140.
No, there is no direct bus from Perugia to Locarno. However, there are services departing from Perugia and arriving at Locarno, Debarcadero via Florence Villa Constanza Bus Station and Bellinzona, Piazza Orico. The journey, including transfers, takes approximately 7h 44m.
No, there is no direct train from Perugia to Locarno. However, there are services departing from Perugia and arriving at Locarno via Firenze S.M.N. and Milano Centrale. The journey, including transfers, takes approximately 6h 59m.
The distance between Perugia and Locarno is 566 km. The road distance is 555.1 km.
The best way to get from Perugia to Locarno without a car is to train which takes 6h 59m and costs SFr 75 - SFr 160.
It takes approximately 6h 59m to get from Perugia to Locarno, including transfers.
Perugia to Locarno bus services, operated by FlixBus, depart from Perugia station.
Perugia to Locarno train services, operated by Trenitalia, depart from Perugia station.
The best way to get from Perugia to Locarno is to train which takes 6h 59m and costs SFr 75 - SFr 160. Alternatively, you can bus, which costs SFr 75 - SFr 120 and takes 7h 44m.
What companies run services between Perugia, Italy and Locarno, Switzerland?
You can take a train from Perugia to Locarno via Firenze S.M.N. and Milano Centrale in around 6h 59m. Alternatively, you can take a bus from Perugia to Locarno, Debarcadero via Florence Villa Constanza Bus Station, Bellinzona, and Bellinzona, Piazza Orico in around 7h 44m.
- Website
- ita-airways.com
Flights from Fiumicino International Airport to Milan Linate Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- CHF 50–170
Flights from Florence Peretola Airport to Zurich Airport
- Ave. Duration
- 1h 18m
- When
- Every day
- Estimated price
- CHF 80–210
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 2h 7m
- Frequency
- Hourly
- Estimated price
- CHF 16–23
- Website
- Trenitalia
Train from Perugia to Roma Termini
- Ave. Duration
- 3h 5m
- Frequency
- Every 3 hours
- Estimated price
- CHF 21–29
- Website
- Trenitalia
Train from Perugia to Roma Termini
- Ave. Duration
- 3h 5m
- Frequency
- Every 3 hours
- Estimated price
- CHF 21–29
- Website
- Trenitalia
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 2h 7m
- Frequency
- Hourly
- Estimated price
- CHF 16–23
- Website
- Trenitalia
Train from Foligno to Jesi
- Ave. Duration
- 1h 18m
- Frequency
- Hourly
- Estimated price
- CHF 11–16
- Website
- Trenitalia
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Perugia to Florence
- Ave. Duration
- 1h 50m
- Frequency
- Once daily
- Estimated price
- CHF 11–18
- Website
- Flixbus
Want to know more about travelling around Switzerland
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Italian Lakes: Getting around by train
Read the travel guide
5 incredible day trips from Florence by train
Read the travel guide
Italy Travel Guides
Read the travel guide
Booking & Getting There
Perugia to Locarno bus services, operated by FlixBus, arrive at Florence station.
Perugia to Locarno train services, operated by Trenitalia, arrive at Firenze S.M.N. station.
Yes, the driving distance between Perugia to Locarno is 555 km. It takes approximately 5h 37m to drive from Perugia to Locarno.
Book your Perugia to Locarno train tickets online with Omio.
There are 2913+ hotels available in Locarno.






