Illustration of Thailand, Thailand

Booking Trains in Thailand: D-Ticket, Classes & Fares

Last updated 2026-07-17

On this page

Thailand’s trains are one of the best ways to see the country: cheaper than flying once you factor in city-centre stations, more scenic than a bus, and an overnight sleeper doubles as a night’s accommodation. The catch is the booking, which trips up a lot of first-timers, a clunky official site that rejects foreign cards, resellers that add a fee, and popular sleepers that vanish weeks ahead. This guide covers the three ways to book, an honest comparison of the fees, how to decode the confusing class names, which routes actually sell out, and the honest catches around timekeeping, food and luggage.

Prices here are in Thai baht (THB) with US dollars in parentheses at ฿33 = US$1 (July 2026), given as ranges because rail fares and reseller fees change. This is a general guide, not immigration or booking advice, so always confirm the current fare and advance-booking window on the official source before you commit.

What’s the cheapest way to book a Thai train?

The State Railway of Thailand’s own online system, D-Ticket, is the cheapest because it adds no markup, but a station counter is just as cheap and a third-party reseller costs a little more. Here’s the honest trade-off between the three channels most travellers use.

Where to bookAdded feeForeign cardsLanguageBest for
Official SRT D-Ticket (dticket.railway.co.th + app)NoneOften rejectedEnglish option, can be clunkyLowest price if your card is accepted
Third-party reseller (e.g. 12Go)~฿50-150 (US$1.50-4.50) per ticketAccepted, plus PayPalFull English, clean interfaceEasiest booking when the official site declines your card
Station ticket counterNoneCash easiestIn person, staff helpNo-markup fallback and short or regional trips

Fees and card behaviour compiled from current SRT, reseller and rail-guide reporting as of mid-2026; they change, so confirm at purchase. ฿33 = US$1 (July 2026).

How does the official SRT D-Ticket system work?

D-Ticket is the State Railway of Thailand’s official online booking platform, at dticket.railway.co.th, with a matching SRT D-Ticket app. You pick your train, seat or berth, and pay by card; you get a QR-code ticket to show on your phone or print, which is scanned as your boarding pass. It sells exactly the same tickets as a station counter with no added markup, which makes it the cheapest way to book from abroad, and there’s a 24-hour SRT call centre on 1690 if you get stuck.

The recurring problem is payment. Since the SRT moved to card-only payment at the time of reservation, the official site has a well-documented habit of rejecting non-Thai Visa and Mastercard cards under strict regional security rules. Some foreign cards go through; many don’t. If yours is declined, don’t assume the train is full, try a different card, or switch to a reseller or a station counter. Confirm the current advance-booking window here too, since the SRT sets it by how far you travel along the route and has changed it in recent years.

When is 12Go worth the fee?

A third-party reseller like 12Go is worth it when the official site rejects your card or you simply want a clean, all-English booking flow, and the ticket isn’t so cheap that the fee stings. These sites take any international card plus PayPal, show every route and class in English, and let you lock in a specific berth from your sofa at home. In exchange they add a service fee of roughly ฿50-150 (US$1.50-4.50) per ticket.

That fee is easy to swallow on an ฿800-plus overnight sleeper, where a few dollars buys you a guaranteed bunk on a train that sells out. It’s poor value as a percentage on a cheap short hop: paying a ฿100 fee on a ฿20-50 3rd-class ticket makes no sense, so for those, just buy at the station. The rule of thumb: reseller for expensive, must-have, sells-out-fast tickets; station counter for cheap, flexible, short journeys.

How do I decode Thai train classes?

Thai trains run in three classes, but the confusing part is that 2nd class comes in several flavours. Here’s the plain-English decoder, cheapest sleeper option to most comfortable.

  • 1st class sleeper — a private, lockable two-berth air-conditioned cabin with its own climate control and a washbasin, roughly ฿1,450-1,650 (US$44-50) per berth, or over ฿2,400 (US$73+) to take the whole cabin. There’s usually only one 1st-class car per train, so it goes early.
  • 2nd class AC sleeper — the sweet spot: a wide seat that folds into a curtained bunk with linens in an open, air-conditioned carriage, roughly ฿800-1,050 (US$24-32) on a long overnight run. Lower berths are a bit pricier and more comfortable than uppers.
  • 2nd class fan sleeper — the same bunk layout without air-con, cooled by ceiling fans and around 30% cheaper than the AC version. Fine in cooler months, sweaty in hot season.
  • 2nd class AC seat — a reclining, airline-style seat in an air-conditioned car, good for daytime trips under about six hours.
  • 3rd class fan seat — a padded or wooden bench in a fan-cooled carriage, the cheapest way to travel at about ฿20-50 (US$0.60-1.50) on short hops. A genuine local experience for a couple of hours, hard work for a long, hot day.

As seat61’s Thailand rail guide puts it on the scarce top class, “there’s only one 1st class sleeping-car per train, so book early.”

Which routes and dates sell out?

The berths that disappear first are the Bangkok-Chiang Mai overnight sleepers, especially the newer Chinese-built carriages, and southern-line trains around Thai public holidays. Long-distance 1st-class berths sell out everywhere because there’s only one such car per train. If you want a specific bunk on the Chiang Mai to Bangkok sleeper route, treat it like a flight and book weeks ahead, not on the day.

Timing matters most around New Year (roughly Dec 30-Jan 3) and Songkran (roughly Apr 11-16), when Thais travel home en masse and sleepers on the northern and southern lines fill up far in advance. If your trip lands in those windows, book the moment the reservation window opens for your route. Shorter regional runs are a different story: day trips like Bangkok to Ayutthaya by train and the seaside run down to Bangkok to Hua Hin rarely sell out the same way, so you can usually buy those at the counter on the day. For northern journeys where the train doesn’t reach the door, our Bangkok to Sukhothai guide covers the train-plus-bus combination.

The honest downsides

Thai trains are wonderful, but book with your eyes open. They run late, often an hour or more on the long northern and southern lines, so never pin a same-day flight, a tight onward connection, or a non-refundable check-in on a long-distance train arriving on time. Build in a couple of hours of buffer on overnight routes and treat the printed arrival time as optimistic.

The official site may reject your card, so have a backup plan (another card, a reseller, or a station counter) rather than assuming you’re booked until you have a ticket in hand. Food on board is basic: most long-distance trains have a restaurant car or trolley with set meals around ฿150-200 (US$4.50-6), but alcohol sales on trains have been banned since 2014, so bring your own water and snacks for a long trip. And luggage is on you: there’s no checked-bag system, you keep your bags with you on racks or beside your berth, so pack light enough to lift and stow yourself and keep your passport and valuables on your person, especially overnight.

Where to next

Decide your route, then book early for the popular ones. Start with the classic overnight run in our Chiang Mai to Bangkok train guide, plan an easy day trip with Bangkok to Ayutthaya by train, take the coast down to Hua Hin, or work out the connection north to Sukhothai. And once your travel dates are set, browse what’s on while you’re here in Thailand events.

Sources

Frequently Asked Questions

What is the official website to book train tickets in Thailand?

The State Railway of Thailand (SRT) runs the official booking system called D-Ticket, at dticket.railway.co.th, with a matching SRT D-Ticket mobile app. It has an English-language option, sells the same tickets you'd get at a station counter with no added markup, and issues a QR-code ticket you show on your phone or print. The one common snag is payment: the official site frequently rejects non-Thai Visa and Mastercard cards, so if your foreign card is declined, either try another card or fall back to a third-party reseller or a station counter. There is also a 24-hour SRT call centre on 1690 for booking help.

Should I book through 12Go or the official SRT site?

Use the official SRT D-Ticket site if you want the lowest price and your foreign card is accepted, since it adds no markup. Use a third-party reseller like 12Go if the official site rejects your card or you'd rather have a clean English interface and PayPal as an option, accepting a service fee of roughly ฿50-150 (US$1.50-4.50) per ticket for the convenience. The fee is trivial on an ฿800-plus sleeper but absurd as a percentage on a ฿20-50 short 3rd-class hop, so for cheap short journeys just buy at the station. For a specific berth on a sold-out-prone route like the Bangkok-Chiang Mai sleeper, book online weeks ahead through whichever channel works for your card rather than gambling on same-day availability at the counter.

How far in advance can I book Thai train tickets?

Advance-booking windows depend on how far you travel along the route, and the SRT has changed them in recent years, so confirm the current window on the official D-Ticket site. As a general guide, long-distance journeys such as Bangkok to Chiang Mai open well ahead of departure (reported windows range from about 30 days up to several months out depending on the source and route), medium-distance trips open around 30 days ahead, and short hops open only about a day before travel. The practical takeaway is the same regardless of the exact number: for popular overnight sleepers, book as early as you reasonably can, because the best berths go first.

Which class should I book on a Thai train?

For a long overnight journey, a 2nd-class air-conditioned sleeper is the sweet spot for most travellers: a wide seat that folds down into a curtained bunk with fresh linens, at roughly ฿800-1,050 (US$24-32) on a route like Bangkok-Chiang Mai. If you want privacy and can pay nearly double, a 1st-class sleeper is a lockable two-person cabin with its own air-con controls and a washbasin, around ฿1,450-1,650 (US$44-50) per berth. For daytime trips under about six hours, a 2nd-class reclining AC seat is fine. A 3rd-class fan seat is a padded or wooden bench, dirt cheap and a genuine local experience for short hops, but hard work for a long, hot journey.

Do Thai trains run on time?

Often not, especially on the long northern and southern lines, where delays of an hour or more are common and an overnight sleeper can arrive well behind schedule. Short commuter and regional runs are more reliable, but you should still build in a buffer. Never book a tight onward connection, a same-day international flight, or a non-refundable hotel check-in that depends on a long-distance train arriving exactly on time. Treat the printed arrival time as optimistic and plan a cushion of a couple of hours on overnight routes.

Is there food on Thai trains?

Most long-distance trains carry a restaurant car or a roaming food-and-drink trolley, with set meals typically around ฿150-200 (US$4.50-6) and snacks and drinks sold on board. Vendors also come through the carriages at major stops selling cheap local food. Note that the sale and consumption of alcohol on trains has been banned since 2014, so you can't buy a beer on board and shouldn't bring your own to drink. For a long or overnight journey it's worth grabbing water and snacks before you board rather than relying entirely on what's available on the train.

How much luggage can I bring on a Thai train?

There are no airport-style weigh-ins and fees for normal tourist luggage, but the SRT does set nominal limits, commonly cited as one larger bag plus a smaller item per passenger, with a weight allowance around 40kg in 2nd class. In practice you keep your bags with you, on overhead racks, under seats, or beside your berth, so the real constraint is what you can carry and stow yourself in a busy carriage. Pack so you can lift your own bag onto a rack, keep valuables and your passport on you rather than in checked-away luggage, and don't count on secure storage for anything you leave out of sight overnight.

Can I just buy a Thai train ticket at the station?

Yes, and it's the no-markup, cash-friendly fallback if online booking fails. Any staffed station has a ticket counter that sells the same fares as D-Ticket with no service fee. It works fine for short and regional journeys, which often can't sell out in the same way. The catch is popular long-distance sleepers: the best berths on routes like Bangkok-Chiang Mai are frequently gone days or weeks ahead, so turning up on the day and hoping for a good bunk is risky. For those, reserve online in advance and keep the station counter as your backup, not your main plan.

Out Thailand Team

Based in Chiang Mai

The Out Thailand team lives in and around Chiang Mai and writes practical, on-the-ground guides to events, cost of living, and daily life in Thailand.