Croatia's public transport rests on intercity buses on land and Jadrolinija ferries and catamarans at sea. Trains are useful on a few inland routes but slow to the coast, and there is no railway to Dubrovnik. Only Zagreb and Osijek have trams; every other city runs on local buses.
Intercity buses
Buses are the backbone of travel between Croatian cities. Arriva, FlixBus and Čazmatrans run many of the main routes, alongside a long list of regional companies. Zagreb's main bus station (Autobusni kolodvor Zagreb) is the national hub, with departures to the whole coast and to neighbouring countries.
Useful things to know:
- Zagreb to Split takes about five hours on the A1 motorway; services that follow the old coastal road or stop in many towns take longer.
- Tickets are sold at station counters, on operators' websites and apps, and on comparison sites that list several companies. Buying ahead is worth it on summer weekends, when popular departures sell out.
- Large bags go in the hold, and many operators charge a small fee per bag, paid to the driver in cash.
- Check the platform (peron) number on the ticket or departure board; larger stations have dozens.
- In Split, the bus station, railway station and ferry port sit next to each other on the harbour; in Dubrovnik, the bus station is in Gruž, close to the ferry port, a bus ride from the Old Town.
- International routes link Zagreb and the coast with neighbouring capitals such as Ljubljana, Sarajevo and Belgrade.
- Services to islands are timed to connect with ferries, and timetables change between summer and winter.
Trains
Passenger trains are run by HŽ Putnički prijevoz (HŽPP). The main lines link Zagreb with Rijeka, with Osijek and Vukovar in Slavonia, and with Split through Lika. Trains are comfortable but rarely the fastest choice to the coast: in 2026 Zagreb to Split takes around eight hours by train, including a night service, against about five by bus.
There is no railway to Dubrovnik, and the Istrian line to Pula connects with the rest of Croatia only through Slovenia. Trains work well for Zagreb's suburbs, for Karlovac, and for Slavonia, and international services run to Slovenia. Buy tickets at stations or on HŽPP's website and app.
Ferries and catamarans
Jadrolinija, the state-owned company, runs most car ferries and many passenger catamarans. Private operators such as Krilo (Kapetan Luka) and TP Line run further catamaran routes, mainly in summer. Car ferries take vehicles and foot passengers; catamarans take passengers only and are faster.
| Route | Vessel | Approximate crossing |
|---|---|---|
| Split – Supetar (Brač) | Car ferry | 50 minutes |
| Split – Stari Grad (Hvar) | Car ferry | 2 hours |
| Split – Hvar town | Catamaran | 1 hour |
| Orebić – Dominče (Korčula) | Car ferry | 15 minutes |
Points that save trouble:
- On many car ferry lines vehicles board in order of arrival, and in July and August the queue at Split can mean missing a sailing. Jadrolinija sells tickets with a guaranteed departure on some lines; check which ones before travelling.
- Foot passengers can buy tickets online and show them on a phone, or at port ticket offices.
- Catamaran seats are limited, so buy ahead in summer.
- Winter timetables are much thinner, and strong bura or jugo winds can cancel catamarans at short notice.
City transport: trams and buses
Zagreb. ZET runs the trams and city buses, plus night trams and buses. Tickets are valid by time, can be bought at kiosks, through the Moj ZET app or from the driver, and must be validated when you board. 2026 fares:
| Ticket | Price (2026) |
|---|---|
| 30 minutes | €0.53 (€0.80 from the driver) |
| 60 minutes | €0.93 (€1.33 from the driver) |
| 90 minutes | €1.33 (€1.99 from the driver) |
| Day ticket | €3.98 |
| 3-day ticket | €9.29 |
| 7-day ticket | €19.91 |
Osijek. The only other tram network in Croatia, run by GPP Osijek, has two lines meeting at the main square.
Coastal cities. Split's buses are run by Promet Split, Dubrovnik's by Libertas and Rijeka's by Autotrolej. In Dubrovnik the buses are the practical way between the Old Town's Pile Gate, the Gruž ferry port and the Lapad and Babin Kuk hotel areas. Buying a ticket in advance at a kiosk is usually cheaper than paying the driver.
Getting from the airports
Shuttle buses timed to flights connect Zagreb, Split and Dubrovnik airports with the city bus stations, and the main airports also have city bus links, taxi ranks and ride-hailing pickups. Zagreb airport is south of the city in Velika Gorica, and ZET bus 290 runs from there to Kvaternikov trg. Split airport sits near Trogir, about 25 km from Split, which makes it convenient for Trogir and the Kaštela area as well.
Planning tips
- Timetables are seasonal. Summer adds island catamarans and coastal buses; from October to May some routes run only a few times a day or not at all.
- Sundays and public holidays have reduced services on buses, trains and many ferry lines.
- Operator websites are more reliable than third-party apps for ferry times, which change by season.
- On islands, local buses usually connect with the ferry, and the car ferry port is not always in the main town: Hvar's car ferries arrive at a port outside Stari Grad, a bus ride from Hvar town.
- Carry some cash for regional buses and bag fees, although cards are accepted at most station counters.
- For long distances such as Zagreb to Dubrovnik, Croatia Airlines' domestic flights from Zagreb to Split, Dubrovnik, Zadar and Pula can save most of a day compared with the bus.
- Allow slack between a ferry arrival and an onward bus or flight: delays in summer queues and bad weather are common.