You can now Book Train Tickets in Thailand online direct from SRT or by using an online ticketing agent.
From the 1st of February '17, the State Railway of Thailand (SRT) has re-introduced their online booking facility.
There are small extra fees to pay (depending on the class of seat / berth you want to book), but this is now the cheapest way to book your train tickets in Thailand online.
You will have to create an account to book tickets and they only sell train tickets.
So, if you want to book connecting bus or ferry tickets (combo tickets), use the agent below who are able to sell you a whole range of connecting travel options (train / bus / ferry / private car transfer).
The link to the SRT online booking system is here >
A good way to book your train tickets online in Thailand is to use 12go.
From this agent you can buy your tickets online, then pick them up from their office at Hua Lamphong Railway Station, a minimum of 60 minutes before the departure time. You can also pick tickets up from some of the more popular train stations within Thailand.
Currently you can only book tickets departing from either:
Bangkok Hua Lamphong Railway Station.
Chiang Mai Railway Station.
Chumphon (for boats to Koh Tao).
Hat Yai Junction Railway Station.
Padang Besar Station (on the Thailand / Malaysia border).
Surat Thani Railway Station (for Koh Samui / Koh Phangan).
Train tickets in Thailand usually go on sale 90 days before the departure date for long distance trains (30 days for shorter trips), but you can put your order in before that date using 12Go and they will make sure you get your tickets when SRT release the tickets for sale.
If you are planning to travel on one of the most popular routes like the train from Bangkok to Chiang Mai or train from Bangkok to the Malaysia border at Padang Besar, the earlier you book, the more likely you are to get your choice of seats or sleeping berths (the much more comfortable and larger lower berths on Thai trains sell out very quickly on some routes).