Budapest by train


Budapest is an important Central European rail crossroads and international trains run to all the surrounding countries as well as Germany.

Trains Prague - Brno - Budapest

Travelling by train to Budapest is currently the most convenient and frequent form of public transport from the Czech Republic and Slovakia.

The route is currently operated by 2 companies: the Czech Railways (in cooperation with the Hungarian MÁV) and Regiojet.

Tickets are always the cheapest on the website of the particular carrier and are in most cases cheaper than buses. The journey time is about 30 minutes shorter than the bus journey.

Regiojet to Budapest

Regiojet has been operating trains to Budapest since 2018. Unlike ČD/MÁV, it does not go via Bratislava but via Vienna. Tickets are slightly cheaper than ČD, but on the other hand Regiojet has fewer connections and the journey time is about 25 minutes longer than ČD. However, it offers a greater range of services on board and a greater number of classes.

Price Journey time Frequency
Prague from 18 eur 6h 40min 2x daily
Brno from 11 eur 4h 2x daily
Pardubice from 16 eur 5h 45min 2x daily

Regiot trains stop in Budapest at Kelenföld station and end at Keleti pu station .

Book your ticket - Regiojet

Czech Railways/MÁV to Budapest

The most frequent connections from most places in the Czech Republic are offered by ČD in cooperation with Hungarian MÁV. ČD also has the advantage of a wide network across the Czech Republic, so you can buy a ticket to Budapest from most major cities with just one change.

The connection is considerably more frequent than the competing Regiyot, but on the other hand it offers a smaller range of services and classes, and there is a certain risk of Hungarian trains running on half the connections and suffering from a rather bad reputation.

ČD/MÁV trains run directly on these routes:

Price Travel time Frequency
Prague from 24 eur 6h 45min 1x every 2 hours
Brno from 15 eur 4h 1x per 2 hours
Ostrava from 20 eur 6h direct train 2x a day
Pardubice from 20 eur 5h 45min 1x in 2 hours
Ústí n. L. from 30 eur 8h 15min direct train 2x daily

Tickets can be purchased on or However, the Czech version has a much clearer mobile app.

Czech Railways trains stop in Budapest only at Nyugati pu..

Munich - Salzburg - Vienna - Budapest trains

There is also competition between two carriers on the route from Vienna: the connection is operated by Regiojet and ÖBB in cooperation with MÁV.


Regiojet's yellow trains run only 5 times a day on the route, but often offer significantly cheaper fares than ÖBB/MÁV. In the direction to Austria, however, they only stop in Vienna and then turn north to the Czech Republic.

Book a ticket - Regiojet

Price Travel time Frequency
Vienna from 11 eur 2h 30min 5x daily


Austrian Railways operates modern Railjet trains on most of its services, continuing from Vienna via Linz to Salzburg. From there, some trains continue on to Munich, Germany, and some trains continue via Innsbruck to Zurich, Switzerland.

Tickets are most easily purchased on the website.

Price Travel time Frequency
Vienna from 19 eur 2h 40min 1x per hour
Linz from 33 eur 4h 1x per 2 hours
Salzburg from 40 eur 5h 15min 1x in 2 hours
Munich from 55 eur 7h 1x in 2 hours

ÖBB trains run to Keleti pu station. and also stop at Kelenföld station.

Trains to Slovakia

Budapest can also be reached by train from Slovakia, specifically on two routes:

  • Košice - Hidasnémeti - Budapest Keleti pu.
  • Bratislava - Nové Zámky - Štúrovo - Budapest Nyugati pu.

Both connections are operated by Slovak Railways ZSSK in cooperation with Hungarian MÁV.

Tickets are most easily purchased on the Slovak website

On the route to Bratislava, Flixbus buses are significantly more frequent and cheaper.

Price Travel time Frequency
Bratislava from 17 eur 2h 30min 1x per 2 hours
Košice from 27 eur 3h 45min 1x per 2 hours
Štúrovo from 9 eur 1h 1x per 2 hours

Trains to Romania

A fairly frequent connection on several routes also leads from Budapest to Romania.

The trains are mainly operated by the Hungarian MÁV in cooperation with the Romanian CFR.

You can find timetables and buy tickets online at

Price Travel time Frequency
Bucharest From 36 eur 16h 4 times a day
Timisoara from 17 eur 6h 15min 3x daily
Arad from 14 eur 4h 15min 1x per 2 hours
Oradea from 14 eur 7h 1x per day
Targu Mures from 27 eur 12h 30min 1x daily
Satu Mare from 17 eur 6h 1x daily

Trains to Croatia and Slovenia

Direct trains from Budapest also take you southwards to Croatia and Slovenia. There are no direct trains between Budapest and Serbia, you need to change trains once in Szeged.

The services are operated by Hungarian Railways MÁV. In the case of Croatia in cooperation with HŽPP and in the case of Slovenia in cooperation with SŽ.

Timetables and online ticket purchase can be found on the website

Price Travel time Frequency
Ljubljana from 18 eur 7h 30min 2x daily
Zagreb from 17 eur 6h 30min 1x daily

Trains to Ukraine

From Budapest you can reach the Ukrainian border town of Chop without changing trains, where you can change to long-distance trains of the Ukrainian Railways to Lviv, Kiev and other destinations.

Trains to Chop start from 19 eur and run twice daily. One connection continues to Mukachevo station.

Timetables and online ticket purchase can be found at

This article may contain affiliate links from which our editorial team may earn commissions if you click on the link. See our Advertising Policy page.