There are 3 ways to get from Budapest to Kežmarok by bus, train, or car
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 Budapest, Népliget Autóbusz-Pályaudvar to Popradbus 1365 / ...
5h 58m€32–49Train
cheapest- Take the train from Budapest-Keleti to Kosicetrain Ic
- Take the train from Kosice to Poprad-Tatrytrain Re / ...
6h 47m€18–25Drive 271.5 km
- Drive from Budapest to Kežmarokcar 271.5 km
3h 53m€42–61
Budapest to Kežmarok by bus and train
Comparing Your Travel Options
The cheapest way to get from Budapest to Kežmarok is to train which costs €17 - €26 and takes 6h 47m.
The fastest way to get from Budapest to Kežmarok is to drive which takes 3h 53m and costs €40 - €65.
No, there is no direct bus from Budapest to Kežmarok. However, there are services departing from Budapest, Népliget Autóbusz-Pályaudvar and arriving at Poprad via . The journey, including transfers, takes approximately 5h 58m.
No, there is no direct train from Budapest to Kežmarok. However, there are services departing from Budapest-Keleti and arriving at Kezmarok via Kosice and Poprad-Tatry. The journey, including transfers, takes approximately 6h 47m.
The distance between Budapest and Kežmarok is 394 km. The road distance is 271.5 km.
The best way to get from Budapest to Kežmarok without a car is to bus which takes 5h 58m and costs €30 - €50.
It takes approximately 5h 58m to get from Budapest to Kežmarok, including transfers.
Budapest to Kežmarok bus services, operated by FlixBus, depart from Budapest, Népliget Autóbusz-Pályaudvar station.
Budapest to Kežmarok train services, operated by Hungarian Railways (MÁV), depart from Budapest-Keleti station.
The best way to get from Budapest to Kežmarok is to bus which takes 5h 58m and costs €30 - €50. Alternatively, you can train, which costs €17 - €26 and takes 6h 47m.
What companies run services between Budapest, Hungary and Kežmarok, Slovakia?
FlixBus operates a bus from Budapest, Népliget Autóbusz-Pályaudvar to Poprad twice daily. Tickets cost €30–50 and the journey takes 5h 5m. Alternatively, you can take a train from Budapest-Keleti to Kezmarok via Kosice and Poprad-Tatry in around 6h 47m.
- Phone
- +36 (1) 3 49 49 49
- [email protected]
- Website
- Hungarian Railways (MÁV)
Train from Budapest-Keleti to Kosice
- Ave. Duration
- 3h 49m
- Frequency
- Hourly
- Estimated price
- €12–15
- Website
- Hungarian Railways (MÁV)
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Budapest, Népliget Autóbusz-Pályaudvar to Poprad
- Ave. Duration
- 5h 5m
- Frequency
- Twice daily
- Estimated price
- €30–50
- Website
- Flixbus
Want to know more about travelling around Slovakia
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
Want to know more about Flixbus?
Read the travel guide
Booking & Getting There
Budapest to Kežmarok bus services, operated by FlixBus, arrive at Poprad station.
Budapest to Kežmarok train services, operated by Hungarian Railways (MÁV), arrive at Kosice station.
Yes, the driving distance between Budapest to Kežmarok is 271 km. It takes approximately 3h 53m to drive from Budapest to Kežmarok.
There are 1989+ hotels available in Kežmarok.









