This tweet has been doing the rounds, claiming to map the longest train journey in the world:

The new longest possible train journey in the world. pic.twitter.com/W9ajgTyY0b

— Epic Maps 🗺️ (@Locati0ns) December 12, 2021

The problem is… it’s not right.

At the time of writing this route is impossible – as the maker of the map himself readily admits in an excellent post on Reddit here. But that has not stopped The Independent, Daily Mail, Euronews and The Times writing inaccurate pieces about the map.

Anyway I am going to have a go at setting this straight. It’s going to take a whole blog post to unpack this. But it’s a lot of fun, so come along for the ride!

### What do we mean by the “longest train journey” in the world?

This cannot mean the longest trip by train in terms of time or in terms of total length of track covered – we could put in dozens of interim stops to make a trip as long as possible, either in terms of time or in terms of total kilometres of track covered.

The most sensible distance measure is hence the greatest geodesic distance – the distance between two points on the globe, taking the curvature of the globe into account. Fortunately there is a handy tool to calculate this here. GPS coordinates for all places relevant to this blog post are listed at the end of the post.

### Greatest geodesic distance on one single train

So a first task is to calculate the greatest geodesic distance on one single train. This is clearly going to be a trans-siberian route in Russia, and then possibly crossing into China or North Korea. Seat61 has a handy page about these routes, also listing the stations the Moscow – Vladivostok and Moscow – Beijing trains serve. There is a little about the Moscow – P’yŏngyang train here.

Geodesic distance: 6419.3 km

Route kilometres: 9288 km (Andy Brabin tells me it’s 9288km, but Seat61 says 9258km… But route km are not my concern!)

Moscow – Beijing

Geodesic distance: 5798.4 km

Route kilometres (via Mongolia): 7620 km (source)

Moscow – P’yŏngyang

Geodesic distance: 6417.6 km

Route kilometres: 10267 km (source)

So the greatest geodesic distance on a single train is Moscow – Vladivostok (6419.3km). The greatest number of route kilometres on a single train is Moscow – P’yŏngyang (10267km).

### Greatest geodesic distance on multiple trains, and definitions

But what about using multiple trains? Because that was what was implied in the tweet that started this whole investigation!

The reason this question has come up just now is the opening of a new line through Laos, connecting new parts of South East Asia and potentially allowing a trip by train all the way through to Singapore. On the western end of the route is Portugal that offers the greatest geodesic distances from Europe to either Vientiane or Singapore.

But before we can set out precise start and end points we need some definitions and rules. What is allowed in this route, and what is not?

First, what is a train? Is it simply anything running with metal wheels on a track? Meaning trams and metro trains are also allowed? Or are only mainline trains allowed – of the type that have a separated right of way and connect cities? And with that in mind what is something like the RER in Paris, or the S-Bahn in Berlin – are those trains or are they metros?

Second, what is a station, and what amounts of walking are allowed for this task? And does it matter if this walking is outside on the street or not?

Also – for the sake of simplifying my task – I am only going to state what train connections are possible for each leg. I am not going to try to stitch them all together to make the fastest possible route here! If you were to ever try to do this after reading my blog post, I am pretty sure there would be faster ways – do post them in the comments!

### Starting points: Portugal

The map tweeted out looks like it starts in Lagos, in south western Portugal – this is what it looks like on OpenRailwayMap – nice and simple, a regular railway line here:

The Wikipedia page about the station even states that – up until 2021 – it is the extreme western point of the Eurasian rail network.

But look a bit further north, and everything gets more complicated… This is the rail network to the west of Lisboa

There is a main line to Cascais, a regular rail branch line to Sintra, and a tram – the Elétrico de Sintra – as far as Praia das Maçãs (top left, purple line). Each of these has a claim to be the point to use.

If trams are allowed, and walking is allowed, then Praia das Maçãs at the western end of the Elétrico can be used. Also the Elétrico is 1000mm gauge, so this adds a break of gauge too. It is a 650m walk from the Eléctrico station at the eastern end of the line to Sintra station, as per Google Maps:

Cascais presents different problems – the regular railway line from there to Lisboa arrives at Cais do Sodré station, but that line has no passenger service that connects with any other regular rail services in the rest of Portugal. To get to the main railway terminals – Santa Apolónia or Oriente – you have to take a metro or walk, as the Lisboa metro map shows (source of the map):

This also shows that there is a way to walk between Alcântara-Mar and Alcântara-Terra:

The annoying thing is that there is a railway line connecting the two – but there is no passenger train that makes that connection! Here is Open Railway Map, showing the line exists, and you can see the tracks on Google Street View here – the part circled in red has no passenger service:

So to conclude here, if walking and trams/metros can be used, you can start in Praia das Maçãs.

If heavy rail and walking is allowed, Cascais can be the start.

If only heavy rail were to be used, then Sintra is the option in the Lisboa area, or Lagos – from both a train runs to Lisboa Oriente, no metros or walking required.

Suitable trains for this section:

If Lagos is the starting point – R 5909 Lagos – Tunes and IC 672 Tunes – Lisboa Oriente

If Cascais is the starting point – R 19226 Cascais – Alcântara-Mar short walk and R 16414 Alcântara – Terra-Lisboa Oriente

If Praia das Maçãs is starting point – Elétrico de Sintra times here, and then short walk and R 18012 Sintra – Lisboa Oriente

If Sintra is starting point – R 18012 Sintra – Lisboa Oriente

### Portugal (Lisboa Oriente) to Germany (Frankfurt (Main) Hbf)

The map in the tweet cited above looks like it uses the Sud Express night train from Lisboa to Hendaye, and then a TGV on to Paris. But the Sud Express was cancelled at the start of the COVID pandemic and looks like it will not return. There is no night train Lisboa – Madrid either – all explained here.

Instead we need to re-plan this bit during the daytime. For Lisboa to Madrid Atocha Seat61 has a guide. You go Lisboa – Entroncamento – Badajoz – Puertollano – Madrid Atocha, and changes are in the same stations for each step.

It is at Puertollano that we get our first of four changes of gauge on the trip – the train from Badajoz is 1668mm Iberian broad gauge, and then the train from Puertollano to Madrid is 1435mm standard gauge. We will then be on standard gauge the whole way to Sweden.

Renfe AVE trains run the Madrid Atocha – Barcelona Sants route (also see Seat61).

Then when we get to France we need to avoid Paris (again a change from the route in the tweet) – because there we could face the same problem with metro trains and/or walking as we did in Lisboa. So we should instead route via Lyon and Strasbourg to Germany – by AVE from Barcelona Sants to Lyon Part Dieu first (Seat61 again)

From Lyon you take the TGV direct to Frankfurt (Main) Hbf.

But beyond Frankfurt we have some important choices to make.

Suitable trains for this section:

IC 721 Lisboa Oriente – Entroncamento

AVANT 08191 Puertollano – Madrid-Puerta De Atocha (can’t link to Renfe schedules – see this screenshot)

AVE 3203 Madrid-Puerta De Atocha – Barcelona Sants

AVE 9736 Barcelona Sants – Lyon Part Dieu

TGV 9583 Lyon Part Dieu – Frankfurt (Main) Hbf

(routed so as to avoid Paris)

### Ways around borders closed to passenger trains due to COVID and political tensions in Europe

Normally the route from Germany through to Moscow would be to Poland first, then on through Belarus or Ukraine into Russia. But all trains Poland-Belarus and Ukraine-Russia have been suspended since the start of the COVID pandemic. Even the once daily Białystok-Kaunas train (the only connection between Poland and Lithuania) has been suspended due to COVID. Kaliningrad-Russia trains are running, but there is no way into Kaliningrad by train from Poland. Routing south of the Black Sea through Turkey (even using the seasonal Optima Express) does not help, as Turkey’s cross border line to Iran has no passenger trains, and the planned new line to Georgia has not opened for passengers.

So that leaves us with just one option for this part of the trip – to route north of the Baltic Sea and into Russia from Finland – as the Allegro trains Helsinki-St Petersburg are running.

An aside for the future before we get back to route planning…

Even prior to COVID and the mounting tensions between the EU and Lukashenko, routing through Belarus with a transit visa was a pain for pretty much anyone except Russian or Belarussian passport holders. And any routes from Lithuania to Russia run through Belarus, as do some from Poland to Russia. So my best guess is that short term post-COVID you would need to route either north of Belarus through Latvia, or south of Belarus through Ukraine.

The route via Latvia would be from Białystok in Poland, via Kaunas and Vilnius to Daugavpils in Latvia, and from there to Riga and then on to Russia. Trains are suspended between Białystok and Kaunas, and between Vilnius and Daugavpils just now, but due to COVID not politics – so I expect these to re-open. As Seat61’s Lithuania and Latvia pages make clear though, these are very irregular services even when they do run though!

Ukraine would hence seem like a better bet. Even during the conflict in Donbas, trains ran between western Ukraine and Russia, and are only suspended due to COVID. There are regular services from Berlin, Warszawa and Budapest either to the border of Ukraine at Przemyśl, or right into Ukraine – allowing easy routing through to Kyiv. Prior to the pandemic there were regular Kyiv – Moskva, Kyiv – Baku and Kharkiv – Moskva trains. The latter two are probably most useful as they allow connections in Volgograd and Kursk respectively onto eastbound trains in Russia that connect onto the Trans Siberian line without routing via Moscow (and problems with metros there).

### Route through the temporarily occupied territories of Ukraine

Crazy though it sounds – both politically and practically – I did wonder whether there would be any way to route through the temporarily occupied territories of Ukraine – either through Crimea and onto the Crimean Bridge, or through the Donbas. No trains cross from Ukraine into its temporarily occupied territories, so the solution would be to find train services to the final station in Ukraine before the border, and then trains onwards from the first train after the border. No normal citizens are allowed to cross any of these borders by law, but I suppose a diplomat could? So they merited a second look.

There are two lines into Crimea from the north, and UZ Ukrainian Railways get closer to Crimea still on the eastern route – Novooleksiivka is still served by, for example, train 12 from Kyiv. Ukraine’s map of border crossings shows both a car and rail (I presume for freight?) border point here. But the train services on the Crimea side are harder to work out. Theoretically there are trains from Solone Ozero (according to the map on Wikipedia) but the Crimea Railways website is offline, and the timetable page in the Wayback Machine is blank. There are definitely trains from Djankoi eastwards across the Crimean Bridge – these (such as 092С Sevastopol – Moscow) even show on RZD’s website. But it is 92km from Novooleksiivka to Djankoi – that makes the trek in Vientiane (see below) seem almost simple!

So what about Donbas? Here the timetables for the four trains that run each day are available as a PDF here. The routes are Yasynuvata – Luhansk (makes me so sad to read this – in 2000 I went to Luhansk as it is Cardiff’s twin town – and in railway history it is also the place the legendary Ludmilla locomotives were built… but anyway I digress…) and Yasynuvata – Avilo-Uspenka / Uspenskaia, and Avilo-Uspenka / Uspenskaia is actually in Russia – and has connections on the RZD website onwards to Taganrog and Rostov-on-Don. But how close can you get on the Ukrainian side – the answer is UZ trains run to Avdiivka – for example train 112 Kyiv-Avdiivka. As the crow flies it is probably 10km from Avdiivka to Yasynuvata, longer with a walking route. But the problem is there is no border crossing anywhere near – you would need one where the arrow is on the map below. So this one is just as much of a pain as the Crimea route.

### Around the north side of the Baltic Sea

So instead we have to head north… The route looks like this… A ICE train from Frankfurt to Hamburg Hbf, then the Snälltåget night train from Hamburg all the way to Stockholm.

Then two changes of train within Sweden to get you to Haparanda

But while there is a track across the border between Haparanda and Tornio, no passenger trains cross it – although trains are due to cross from 2023 once the cross border section is electrified. But for now you have to walk 4.6km! Here’s the map:

Here you can see the rails exist, but the part circled with the red dotted lined has no passenger trains:

Here there is the next break of gauge. Trains in Sweden are 1435mm standard gauge, in Finland they are 1520/1524mm Russian gauge.

Then it’s onto the night train from Tornio to Helsinki, then the cross border Allegro train into Russia. At the time of writing only Finnish and Russian citizens can use this train… but the train runs, so it fits our purposes!

Suitable trains for this section:

ICE 578 Frankfurt (Main) Hbf – Hamburg Hbf

D 300 (Snälltåget) Hamburg Hbf – Stockholm C

X2 560 Stockholm C – Umeå C

R 7108 Umeå C – Luleå C

R 7186 Luleå C – Haparanda

Then a walk across the border

R 276 Tornio Itäinen – Helsinki

Allegro 782 Helsinki – Vyborg (see screenshot of timetable here)

### Routes across Western Russia

The two major cities in Western Russia – St Petersburg and Moscow – present the same problems as Lisboa and Paris earlier in the trip, namely the need to use metros to cross the cities from terminus stations. So we need a route from Vyborg – the first station on the Russian side of the Finnish-Russian border – through to the Trans Siberian railway avoiding both St Petersburg and Moscow, or at the very least arriving or departing from the same station in each.

The solution is to change off the Allegro train in Vyborg (i.e. don’t stay on it the whole way to St Petersburg), change there for a train to Tver, and from Tver a train to Nishniy Novgorod, and from there we can head eastbound onto the Trans Siberian route.

Suitable trains for this section:

160AJ Vyborg – Tver

775AJ Tver – Nishniy Novgorod Moskovsk

### Route choices and further COVID problems further east – where it all breaks down (for now!)

As the map on Seat61’s Silk Road page points out, there are three main routes through to China from Western Russia. One routes from Russia through Kazakhstan (Nur Sultan) to Ürümqi in China. The second is the Trans Mongolian route through Ulan Bataar to Beijing. And the third uses more of the Trans Siberian route towards Vladivostok, branching off that at Chita and running through Manchuria to Beijing.

The problem is that all of these routes are currently suspended due to the COVID pandemic.

There are no trains Russia – Kazakhstan (see RZD here), or Kazakhstan – China (Kazakh Railways, Google Translated here). There are also no trains Russia – Mongolia or Russia – China, also according to RZD. Mongolia – China I have not been able to work out, but let’s not get too bogged down with that – there is no way around this problem for now.

For the sake of simplicity, let’s work on the basis that crossing two countries – Russia and China – is likely to open up sooner than having to cross three, and hence assume we can take the Trans Manchurian route. This means boarding Train 20 in Nishniy Novgorod Moskovsk that runs weekly, and takes us the whole way to Beijing. See Seat 61.

En route there is the third break of gauge – on the Trans Manchurian this is done at Zabaikalsk. Carriages – with the passengers still in them – are lifted off their 1520/1524mm Russian gauge bogies, and lowered down onto standard gauge bogies 1435mm. Standard gauge will then be used as far as Vientiane.

Suitable train for this section:

020Щ – Nishniy Novgorod – Beijing

### Crossing China and into Laos

This bit is comparatively easy!

The train from Russia arrives at Beijing Station, while the high speed trains heading towards Kunming depart from Beijing West. But there is a cross city railway tunnel connecting the two. From Beijing West take the high speed train to Kunming South, which is the same station from which the train to Laos departs. Oh and Beijing and Kunming are 2,760km apart, but the high speed train takes less than 11 hours. That’s fast!

From Kunming the line onwards to Vientiane in Laos has been open since December 3 2021. The 106km long Kunming – Yuxi railway existed already, and then a further 507 kilometres Yuxi – Mohan opened on the Chinese side of the border, and the 414km Boten – Vientiane line on the Laos side. Despite the numerous news reports of passenger trains now running, this article makes it clear that no passenger train is currently crossing the border section between Muhan and Boten. So the situation at the border here is currently the same as at the border from Russia into China – I presume that when China’s COVID restrictions ease, this one will open too. I also stumbled across this sort of photo diary of the line in Laos – it looks like it will be an epic trip when it is eventually possible!

Suitable trains for this section

Any train that uses the Beijing – Beijing West tunnel, inc. any Sub-Central line train

G403 Beijing West – Kunming South (timetable in this screenshot)

A train Kunming South – Muhan or Boten (China – Laos border station)

A train departs Boten at 12:00 each day and arrives Vientiane at 15:14 – see here (full timetable currently unknown – but this would indicate there is no through train all the way Kunming – Vientiane)

### The Vientiane Gap

This one was a little strange to work out, and even now I am not sure I have it all right.

The line through Laos terminates at Vientiane South, but Wikipedia lists that as a goods station, not a passenger station. Vientiane Station meanwhile – and you can see it under construction on Google Satellite here – is a good way north of the city. Pictures there (such as this) correspond to the pictures of the Vientiane terminus in the news stories.

This poses a problem as the first station on the Thailand rail network is Thanaleng – which is across the Mekong and into Laos, but is 18.6km from Vientiane Station! This is the walking route on Google Maps:

This is how this looks on Open Railway Map – the section of line that exists for freight, but has no passenger trains, is circled with the red dots. Thanaleng station is at the bottom:

This makes the 4.6km Haparanda-Tornio feel simple in comparison! But the issue is essentially the same – there is a through track but no passenger train running on it.

The problem seems to be that there is no clarity about how to connect up the proposed new high speed line on the Thailand side to what has been built on the Laos side, and hence the gap is likely to persist until 2028 at least – more detail here.

### Thanaleng – Bangkok – Singapore

Here once more there is a break of gauge – lines in Thailand use 1000mm narrow gauge.

A Thai railways shuttle train crosses from Thanaleng on the Laos side of the Friendship Bridge to Nong Khai on the Thailand side (journey time: 15 minutes), and from Nong Khai there are night trains to Bangkok. All the details and timetables from Seat61 here, but with one catch – the old terminus in Bangkok – Hua Lamphong – is due to close now, and is to be replaced with the new Bang Sue Grand Station.

From Bangkok take a night train to Pedang Besar, then a daytime train from there to Butterworth. Stop overnight. And then onwards the following day from Butterworth to Gemas, Gemas to Johor Bahru, and then the shuttle from Johor Bahru across to Singapore Woodlands Train Check Point – all the details here. At the moment there are building works between JB Sentral and Kempas Baru that mean trains are suspended here, but these should be concluded by the time other trains start running through China (see above).

Suitable trains for this section

918 – Thanaleng – Nong Khai

26 – Nong Khai – Bangkok Bang Sue

45 – Bangkok Bang Sue – Pedang Besar

2961 – Pedang Besar – Butterworth

9321 – Butterworth – Gemas

43 – Gemas – Johor Bahru

KTM Shuttle – Johor Bahru – Singapore Woodlands Train Checkpoint (explained here)

### End points – Singapore

If our route uses only heavy rail, then our trip ends at the Woodlands Train Checkpoint in Singapore. Heavy rail goes no further.

But if you can remember right back to the start… there was an option to start on a tram (Elétrico de Sintra) to lengthen the route a little. A similar technique can be deployed at the Singapore end – using the Singapore Metro.

Walk 1.5km from Woodlands Checkpoint to Marsiling MRT – Google Maps:

Take the Singapore MRT North South Line to City Hall, then the MRT East West Line to Changi Airport station – the easternmost point on the MRT network. Thanks to this tweet I also checked the Beach Station of the Sentosa Express Monorail, but Changi is 20m further. Getting to Changi MRT adds a further break of gauge – the Singapore MRT uses 1435mm standard gauge.

But that is not all. Inside Changi Airport there is the Skytrain that can be used without checking in. You can see its terminals on Open Railway Map:

Also with its 1850mm gauge, the Skytrain gives us a further change of gauge en route! So that is the furthest south east we can go – Station D on Changi Skytrain.

### The conclusions – two versions of the longest journey

At least until 2028 – and possibly even beyond that – a journey of this nature that does not require at least some walking between stations is impossible.

The longest heavy rail only, plus walking, connection is between Cascais 🇵🇹  and Woodlands 🇸🇬 – this has a geodesic distance of 11904.73 km. Starting in Lagos gives you 11889.18 km, and Sintra 11898.93 km. This one requires 30 trains based on the route laid out above, 4 changes of gauge, and 0.7km (Alcântara), 4.6km (Haparanda-Tornio) and 18.6km (Vientiane) – so 23.9km total – on foot. But note that in Alcântara, Haparanda-Tornio and Vientiane tracks do exist in each case. So this is, for me, the best route to use.

The longest heavy rail plus trams and metros, plus walking, connection is between Praia das Maçãs 🇵🇹 and Changi Airport Skytrain Station D 🇸🇬 – this has a geodesic distance of 11929.33 km. This one requires 1 tram, 29 trains, 2 metro trains and 1 Skytrain, 7 changes of gauge, and 0.7km (Alcântara), 4.6km (Haparanda-Tornio), 18.6km (Vientiane) and 1.5km (Woodlands) – so 25.4km total – on foot. Also if you used metros in Paris, St Petersburg and Moscow as well you might theoretically end up with fewer trains for this variant – but I am not going back over all of this to check it!

### Finally – the map!

This is the route sketched out in this blog post, mapped! This is the corrected Version 2 (file here) – for reference the first version is here.

### Thanks to these people who helped

David Feng for information about trains in China

Richard Gadsden for info on Russian rail services running and not running

Train Tracks Blog for information about what passengers can take the Allegro train

Matthew Woodward for the tip about the monorail in Singapore

Mark Smith for the website that informed a lot of the route planning

A load of journalists’ bad pieces that motivated me to do better

htGoSEVe on Reddit for having made the first map that went so viral

Since this post and map were first published on 15 December 2021, updates and suggestions have poured in, and have contributed to Version 2 of the map. Each update will be listed here, and the main text above adjusted accordingly.

1. I had spelled Changi Airport incorrectly – thanks bigman skan (@basedposting) for pointing this out! Corrected now
2. David Morris (@2468motorway) alerted me to a potential extension of the route in Singapore – using the public section of the Changi Airport Skytrain. This was an excellent tip and has now been incorporated!
3. s44 (@ZengoMay) provided me the train times for Boten – Vientiane, and these have been added
4. John W (@jpwoodh) has been a tremendous help getting to the bottom of what is happening at the China-Laos border – that part of the description and the map has been updated accordingly
5. htGoSEVe on Reddit for the news about works on the track at JB Sentral
6. Text and maps updated for parts about Alcântara, Haparanda – Tornio and Vientiane (I reflected further on these and felt these parts needed re-doing)
7. As a result of numerous pedants telling me that Haparanda – Tornio will be electrified in 2023 (which I knew), I have added a line in the blog post on that. It’s immaterial here, as I am writing about now, but if I means I get less know-it-all tweets from people, then so be it! 🙂
8. Peter Brommer (@pbro48) pointed out I had the wrong spelling of geodesic. How – when I have managed to get loads of things right – do I get something so simple wrong? Now corrected.
9. An anonymous blog reader suggested I look at trains in Crimea and Donbas – that section was added at 16:00CET on 16 December. But the route is not viable.

### Geo coordinates used

Moscow Yaroslavsky Ярославский вокзал – 55.776°N 37.658°E (source)

Vladivostok Владивосто́к – 43°6′40.18″N 131°52′53.58″E (source)

Beijing Station 北京火车站 – 39°54′10″N 116°25′41″E (source)

P’yŏngyang 평양 – 39°0′17″N, 125°44′11″E (source)

Lagos railway station Estação Ferroviária de Lagos – 37°6′30.73″N 8°40′18.02″W (source)

Praia das Maçãs (Elétrico de Sintra) – 38.8258403, -9.4686851 (Google Maps)

Cascais Station – 38.7007835, -9.4207947 (Google Maps)

Sintra Mainline Station – 38.7993342, -9.387684 (Google Maps)

Singapore Woodlands Train Checkpoint – 1.44378,103.7674213 (Google Maps)

Singapore MRT Changi Airport – 1.3576001,103.9184495 (Google Maps)

Singapore Monorail Sentosa Express Beach Station – 1.2513489,103.8156275 (Google Maps)

Changi Airport Skytrain Station D – 1.3615093,103.9896545 (my estimate based on Open Railway Map, and Google Maps)

### Creative commons images used in this post

Vestman

Allegro

February 12, 2011

Attribution 2.0 Generic (CC BY 2.0)