This post is based on our experience travelling by road (with a ferry thrown in for good measure) from Thailand (Bangkok/Hat Yai) to Malaysia (Langkawi) in June 2024.
You can of course fly from Bangkok to Kuala Lumpur in no time. But if, like us, you’d vastly prefer a lengthy overland excursion instead, you can travel from one country to the other on a combination of public transport offerings by land and sea.
Travelling by road between Thailand and Malaysia is easy, it’s just a bit more time consuming: it took us a night on the train from Bangkok plus a day of travel to get from Hat Yai and over the border to Langkawi (via Kuala Perlis). Everyone we’ve met around here seems to be flying from one place to the next. If you aren’t pressed for time, why not do something different?
So, if you ever wondered how to get from Thailand to Malaysia without flying, then read on.
Before you go
Both Thailand and Malaysia are visa-free for many nationalities. Malaysia has a pre-entry form you have to fill out online. You can do it in advance and show the email at Immigration, or you can do it on the spot at the border.
There are moneychangers on the Thai side of the border. It’s good to have some ringgit on arrival in Malaysia since it’s a 60 ringgit taxi from the border to Kuala Perlis.
If you haven’t already got Grab, download it. It’s a very handy taxi app.
The route
We went from Bangkok straight to Hat Yai. We stayed in Hat Yai for a few days, before carrying on to Sadao, the border town. We crossed on foot and then picked up a taxi on the other side, to Kuala Perlis. From there we took a ferry to Langkawi.
If you want to make this a bit cheaper, you can take the taxi to Changlun and get a minibus from there to Kuala Perlis.
Bangkok to Hat Yai
We took a night train from Bangkok’s Krung Thep Aphiwat station to Hat Yai. You should book your tickets online in advance (we used 12GoAsia, about 25 euros per person). The train took a good 16-17 hours including unexplained lateness. We were in second class sleeper which is no prize, but fine. The carriages are tiny, the smallest I’ve ever seen.
When you board, there are two seats facing each other on both sides, the length of the carriage. After a couple of hours it’s bedtime, and the conductor comes through and pulls down a top bunk on each side of the aisle, and converts the two facing seats below to a lower berth, the whole length of the carriage. So now you and your facing seatmate are one overtop the other. There are curtains across each berth and the conductor gives everybody a pillow and a blanket and sheets, it’s not too bad. The windows don’t open but there are fans (and the door between carriages remained open all night much to my dismay as it made for a lot of noise). There are toilets and a sink which aren’t too bad, and no food. Bring your dinner. People do go through selling snacks at every station though.
Once you’re in Hat Yai, you can stay the night or leave right away if you don’t mind another full day of travel. We weren’t in a hurry so we stuck around two nights.
Hat Yai to the border
We took a bus from Hat Yai Bus Terminal 1 to Sadao*. At the bus station, you see rows of ticket windows with the destinations listed above them. Just go for the one you need and don’t bother with the touts. The bus to Sadao cost 80 baht per person and took around an hour.
*Originally, we’d planned to take the bus to Satun, and then take a ferry from there to Langkawi. Apparently this is faster. However, at the bus station we were informed at the Satun ticket window, that the Langkawi ferry only leaves once a day (at 10.00 am) during low season, and so we’d miss it.
At the border, we changed money at some booths right next to where the bus dropped us.
Crossing the border
This border is massive and meant for vehicle crossings so walking through it was annoying and convoluted. We processed the Thai side and stamped out quickly but then it was a lot of wandering around and backtracking. We noticed right outside Thai immigration that there was a minibus that seems to operate as a shuttle through the border. You might want to check that out, as it’s actually a long walk if you’ve got a lot of stuff.
When we got to the Malaysian side we filled out and submitted the arrival form on the spot, they stamped us in and that was that. Everyone was really friendly, it was nice in that respect.
You have a quick scan of your bags and you’re out.
Border to Langkawi via Kuala Perlis
Walk a short distance down the road behind the border buildings, exit the border to where you’ll spot a few (or one) taxis on your left hand side. Haggle a bit, but it should cost around 60 ringgit to Kuala Perlis which is the ferry port for Langkawi. It took about 45 minutes to get there. The taxi dropped us off at the ferry port offices.
We bought tickets (27 ringgit per person) on the ferry to Langkawi – there are regular departures, and the ferry took about an hour.
Arriving in Langkawi you disembark in a big terminal building with a ‘duty free’ although you’re already domestic. We booked a Grab and it was a 35 minute trip straight to our guesthouse which by the way was lovely: Eagle Eye Langkawi.
There, that wasn’t so bad, was it? Welcome to Malaysia!
Read More
If you’d like another roundabout journey in the region, you can check out this post about taking the ferry from Malaysia to Indonesia (Sumatra).
This Post Has 2 Comments
Hi Sarah..Thank you so much.This was wery informative . Love your blogs .just started traveling I need all the help I can get 😩
Hi! Thank you, and I’m happy I could help:) Enjoy your travels, you’re in for some amazing experiences I know it!