There are 12 ways to get from Zagreb to Locarno by bus, train, night train, car, train (Trenitalia), plane, or shuttle
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus
best- Take the bus from Zagreb to Bellinzonabus
11h 30mCHF 117–119Bus, train
cheapest- Take the bus from Zagreb to Bresciabus
- Take the train from Brescia to Milano Centraletrain R4
- Take the train from Milano Centrale to Locarnotrain
12h 50mCHF 30–69Train, bus
- Take the train from Zagreb Glavni Kol. to Ljubljanatrain Ec / ...
- Take the bus from Ljubljana Hotel Union to Venezia, Viale Stazionebus
- Take the train from Venezia Mestre to Milano Centraletrain Fr
- Take the train from Milano Centrale to Locarnotrain
11h 39mCHF 59–146Night train, bus
- Take the night train from Zagreb Glavni Kol. to Sargansnighttrain En
- Take the bus from Chur, Postautostation to Bellinzona, Stazionebus 171
16h 52mCHF 59–87Drive 680.9 km
- Drive from Zagreb to Locarnocar 680.9 km
7h 30mCHF 106–153Train
- Take the train from Zagreb Glavni Kol. to Villach Hbftrain Ec
- Take the train from Villach Hbf to Venezia Mestretrain Rjx
- Take the train from Venezia Mestre to Milano Centraletrain Fr
- Take the train from Milano Centrale to Locarnotrain
14h 3mCHF 68–182Fly Zagreb Franjo Tuđman Airport to Zurich Airport, train
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Zurich Airport (ZRH)plane ZAG - ZRH
- Take the train from Zürich HB to Bellinzonatrain
6h 54mCHF 117–286Fly Zagreb Franjo Tuđman Airport to Milano Malpensa Airport, train
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Milano Malpensa Airport (MXP)plane ZAG - MXP
- Take the train from Malpensa Aeroporto T1 to Mendrisiotrain
- Take the train from Mendrisio to Locarnotrain
6h 33mCHF 73–269Fly Zagreb Franjo Tuđman Airport to Milan Linate Airport, train
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Milan Linate Airport (LIN)plane ZAG - LIN
- Take the train from Monza to Locarnotrain
9h 35mCHF 88–264Fly Zagreb Franjo Tuđman Airport to Il Caravaggio International Airport, train
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Il Caravaggio International Airport (BGY)plane ZAG - BGY
- Take the train from Milano Centrale to Locarnotrain
7h 12mCHF 38–227Fly Zagreb Franjo Tuđman Airport to Basel, train
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Basel (BSL)plane ZAG - BSL
- Take the train from Basel SBB to Bellinzonatrain
8h 29mCHF 63–318Shuttle, shuttle to Trieste – Friuli Venezia Giulia Airport, fly to Milan Linate Airport, train
- Take a shuttle bus from Zagreb to Višnja Gora
- Take a shuttle bus from Višnja Gora to Trieste Airport
- Fly from Trieste – Friuli Venezia Giulia Airport (TRS) to Milan Linate Airport (LIN)plane TRS - LIN
- Take the train from Monza to Locarnotrain
9h 6mCHF 135–523
Zagreb to Locarno by bus
Questions & Answers
The cheapest way to get from Zagreb to Locarno is to bus and train which costs SFr 29 - SFr 70 and takes 12h 50m.
The fastest way to get from Zagreb to Locarno is to fly and train which takes 6h 33m and costs SFr 70 - SFr 270.
No, there is no direct bus from Zagreb to Locarno. However, there are services departing from Zagreb and arriving at Locarno, Debarcadero via Bellinzona, Stazione. The journey, including transfers, takes approximately 11h 30m.
No, there is no direct train from Zagreb to Locarno. However, there are services departing from Zagreb Glavni Kol. and arriving at Locarno via Villach Hbf, Venezia Mestre and Milano Centrale. The journey, including transfers, takes approximately 14h 3m.
The distance between Zagreb and Locarno is 745 km. The road distance is 680.9 km.
The best way to get from Zagreb to Locarno without a car is to bus which takes 11h 30m and costs SFr 116 - SFr 119.
It takes approximately 11h 30m to get from Zagreb to Locarno, including transfers.
Zagreb to Locarno bus services, operated by Zelic Reisen, depart from Zagreb station.
Zagreb to Locarno train services, operated by HŽ Putnički prijevoz (HŽPP), depart from Zagreb Glavni Kol. station.
The best way to get from Zagreb to Locarno is to bus which takes 11h 30m and costs SFr 116 - SFr 119. Alternatively, you can train, which costs SFr 65 - SFr 190 and takes 14h 3m.
What companies run services between Zagreb, Croatia and Locarno, Switzerland?
Zelic Reisen operates a bus from Zagreb to Bellinzona 4 times a week. Tickets cost CHF 114 and the journey takes 10h 25m. Alternatively, you can take a train from Zagreb Glavni Kol. to Locarno via Villach Hbf, Venezia Mestre, and Milano Centrale in around 14h 3m.
- Website
- lufthansa.com
Flights from Zagreb Franjo Tuđman Airport to Zurich Airport via Munich
- Ave. Duration
- 3h 10m
- When
- Every day
- Estimated price
- CHF 70–200
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 32m
- When
- Every day
- Estimated price
- CHF 75–300
Flights from Zagreb Franjo Tuđman Airport to Basel via Frankfurt
- Ave. Duration
- 3h 55m
- When
- Every day
- Estimated price
- CHF 70–310
Flights from Zagreb Franjo Tuđman Airport to Basel via Munich
- Ave. Duration
- 3h 50m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- CHF 80–270
- Website
- croatiaairlines.com
Flights from Zagreb Franjo Tuđman Airport to Zurich Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- CHF 70–200
Flights from Zagreb Franjo Tuđman Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 20m
- When
- Monday, Wednesday, and Friday
- Estimated price
- CHF 55–180
- Website
- austrian.com
Flights from Zagreb Franjo Tuđman Airport to Zurich Airport via Vienna
- Ave. Duration
- 3h 45m
- When
- Every day
- Estimated price
- CHF 75–180
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Vienna
- Ave. Duration
- 4h 47m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 65–280
- Website
- ryanair.com
Flights from Zagreb Franjo Tuđman Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 15m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- CHF 26–170
Flights from Zagreb Franjo Tuđman Airport to Basel
- Ave. Duration
- 1h 35m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- CHF 27–170
- Website
- ita-airways.com
Flights from Trieste – Friuli Venezia Giulia Airport to Milan Linate Airport
- Ave. Duration
- 1h
- When
- Monday to Saturday
- Estimated price
- CHF 70–180
- Website
- eurowings.com
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Stuttgart
- Ave. Duration
- 8h 10m
- When
- Friday and Sunday
- Estimated price
- CHF 60–220
- Website
- easyjet.com
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Berlin Brandenburg
- Ave. Duration
- 4h 10m
- When
- Friday
- Estimated price
- CHF 70–230
- Phone
- +385 60 333 444
- informacije@hzpp.hr
- Website
- hzpp.hr
Train from Zagreb Glavni Kol. to Ljubljana
- Ave. Duration
- 2h 23m
- Frequency
- 4 times a day
- Estimated price
- CHF 7–11
- Website
- http://www.hzpp.hr/en
Night train from Zagreb Glavni Kol. to Sargans
- Ave. Duration
- 12h 44m
- Frequency
- Once daily
- Estimated price
- CHF 35–50
- Website
- http://www.hzpp.hr/en
Train from Zagreb Glavni Kol. to Villach Hbf
- Ave. Duration
- 4h 35m
- Frequency
- Twice daily
- Estimated price
- CHF 12–17
- Website
- http://www.hzpp.hr/en
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Venezia Mestre to Milano Centrale
- Ave. Duration
- 2h 15m
- Frequency
- Hourly
- Estimated price
- CHF 18–50
- Schedules at
- trenitalia.com
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Venezia Mestre to Milano Centrale
- Ave. Duration
- 2h 22m
- Frequency
- Every 4 hours
- Estimated price
- CHF 21–45
- Website
- https://www.italotreno.it/en
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Venezia Mestre to Milano Centrale
- Ave. Duration
- 2h 25m
- Frequency
- Twice daily
- Estimated price
- CHF 50–100
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 65–100
- 2nd Class
- CHF 50–75
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- CHF 7–10
- Website
- https://www.trenord.it/en/
Train from Brescia to Milano Centrale
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- CHF 6–8
- Website
- https://www.trenord.it/en/
Train from Malpensa Aeroporto T1 to Mendrisio
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- CHF 4–6
- Website
- https://www.trenord.it/en/
Train from Mendrisio to Locarno
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 4–6
- Website
- https://www.trenord.it/en/
Train from Monza to Locarno
- Ave. Duration
- 1h 45m
- Frequency
- Hourly
- Estimated price
- CHF 5–7
- Website
- https://www.trenord.it/en/
Train from Villach Hbf to Venezia Mestre
- Ave. Duration
- 3h 11m
- Frequency
- Twice daily
- Estimated price
- CHF 30–55
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/railjet
- *
- CHF 30–55
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Bellinzona
- Ave. Duration
- 1h 37m
- Frequency
- Hourly
- Estimated price
- CHF 30–65
- Website
- https://www.sbb.ch/en
Train from Malpensa Aeroporto T1 to Mendrisio
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- CHF 24–45
- Website
- https://www.sbb.ch/en
Train from Mendrisio to Locarno
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 19–22
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Bellinzona
- Ave. Duration
- 2h 39m
- Frequency
- Every 2 hours
- Estimated price
- CHF 50–90
- Website
- https://www.sbb.ch/en
- Phone
- +41 58 580 70 70
- info@sob.ch
- Website
- sob.ch
Train from Zürich HB to Bellinzona
- Ave. Duration
- 2h 55m
- Frequency
- Every 4 hours
- Schedules at
- sob.ch
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 57m
- Frequency
- Every 4 hours
- Schedules at
- sob.ch
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 5m
- Frequency
- Once daily
- Estimated price
- CHF 16–22
- Schedules at
- sbb-deutschland.de
- Phone
- +41 79 445 39 68
- info@zelicreisen.ch
- Website
- zelicreisen.ch
Bus from Zagreb to Bellinzona
- Ave. Duration
- 10h 25m
- Frequency
- 4 times a week
- Estimated price
- CHF 114
- Schedules at
- zelicreisen.ch
- Phone
- +386 (0)51 224 222
- info@drd.si
- Website
- drd.si
Bus from Ljubljana Hotel Union to Venezia, Viale Stazione
- Ave. Duration
- 2h 50m
- Frequency
- Once daily
- Estimated price
- CHF 26
- Website
- https://www.drd.si/
- Phone
- +41 (0)848 818 818
- info@postauto.ch
- Website
- postauto.ch
Bus from Chur, Postautostation to Bellinzona, Stazione
- Ave. Duration
- 2h 12m
- Frequency
- Hourly
- Estimated price
- CHF 9–14
- Website
- https://www.postauto.ch
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Zagreb to Brescia
- Ave. Duration
- 8h 30m
- Frequency
- Once daily
- Estimated price
- CHF 28–55
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Zagreb to Brescia
- Ave. Duration
- 8h 40m
- Frequency
- Once a week
- Estimated price
- CHF 17–25
- Website
- https://www.itabus.it/en/home
- Phone
- +386 1 320 4530
- info@goopti.com
- Website
- goopti.com
Shuttle from Zagreb to Višnja Gora
- Ave. Duration
- 1h 36m
- Frequency
- On demand
- Estimated price
- CHF 26–160
- Website
- https://www.goopti.com/en/
- Shared
- CHF 26–31
- Private
- CHF 85–160
Shuttle from Višnja Gora to Trieste Airport
- Ave. Duration
- 1h 45m
- Frequency
- On demand
- Estimated price
- CHF 30–200
- Website
- https://www.goopti.com/en/
- Shared
- CHF 30–40
- Private
- CHF 110–200
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
Italy Travel Guides
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
More Questions & Answers
Zagreb to Locarno bus services, operated by Zelic Reisen, arrive at Bellinzona station.
Zagreb to Locarno train services, operated by HŽ Putnički prijevoz (HŽPP), arrive at Villach Hbf station.
Yes, the driving distance between Zagreb to Locarno is 681 km. It takes approximately 7h 30m to drive from Zagreb to Locarno.
There are 2559+ hotels available in Locarno.





































































