Navigate Thailand by train with our ultimate guide. Compare sleeper classes, booking tips for 12Go, popular routes, and scenic day trips.
When to take trains
- Good for:
- ✅ Bangkok → Chiang Mai (overnight sleeper, saves hotel night)
- ✅ Bangkok → Ayutthaya (cheap day trip)
- ✅ Bangkok → Hua Hin (scenic, relaxed)
- ✅ Those who love train travel
- ✅ Overnight travel (sleep on train, save hotel)
- Bad for:
- ❌ When time is limited (flying is 10x faster)
How to book trains
Option 1: 12Go.asia
- English website/app
- See all available trains
- Online payment (credit card, PayPal)
- E-ticket sent to email
- Small booking fee (฿50-100)
- Recommended for tourists
Option 2: Thai Railways Official (d-ticket.railway.co.th)
- Official website
- English available
- Can be glitchy
Option 3: At Station
- Go to ticket counter
- Show destination, date, class
- Pay cash
- Get physical ticket
- Cons: May be sold out for popular routes/dates
By the way: Thailand’s biggest train expert is Richard Barrow (https://www.thaitracks.com/)
TRAIN BOOKING TIPS
✅ Do:
- Book 30-60 days ahead for overnight sleepers (they sell out)
- Book lower bunk if possible (easier access, window)
- Arrive at the station 30 minutes early
- Bring light blanket (AC can be cold)
- Download entertainment (Wi-Fi is spotty/non-existent)
- Keep valuables with you (not in overhead storage)
❌ Don't:
- Book 3rd class for overnight (uncomfortable)
- Expect on-time arrival (delays common)
- Bring snacks (buy them there/on board)
- Leave bags unattended
Train Classes
1st Class Sleeper (Private Cabin)
- Cost: ฿1,200-2,200 depending on route
- 2-person private cabin (can be booked as solo)
- Air-conditioned
- Bed, pillow, blanket, reading light
- Locking door
- Private sink (some)
- Attendant converts seats to beds around 8pm
- Best for: Couples, those wanting privacy, light sleepers
2nd Class Sleeper (Open Carriage)
- Cost: ฿700-1,100
- Air-conditioned
- Bunk beds with curtain for privacy
- Upper bunk (cheaper) or lower bunk
- Shared space
- Attendant converts seats to beds
- Most popular choice
- Best for: Solo travelers, budget-conscious, social travelers
2nd Class Seats (No Sleeper)
- Cost: ฿400-700
- Air-conditioned
- Reclining seats
- Good for day trains
- Best for: Day journeys under 6 hours
3rd Class (Bench Seats)
- Cost: ฿200-400
- No AC (fans only)
- Hard wooden/plastic bench seats
- Very local experience
- Best for: Adventurous budget travelers, short day trips
Popular Train Routes
Bangkok → Chiang Mai (overnight)
Train Numbers: 9, 13, 51, 109 (check schedule, changes slightly)
Schedule (Example - verify when booking):
Train 9: Depart 6:10pm → Arrive 6:50am (12h 40m)
Train 13: Depart 7:35pm → Arrive 8:50am (13h 15m)
Train 51: Depart 9:50pm → Arrive 12:10pm (14h 20m) - slowest but cheapest
Cost:
- 1st Class: ฿1,500-2,200
- 2nd Class Sleeper Upper: ฿700-900
- 2nd Class Sleeper Lower: ฿800-1,100
Station: Hua Lamphong Station or Bang Sue Grand Station (NEW major station opened 2023)
Book: 30-90 days ahead (sells out in high season!)
Pros:
- Save hotel night
- Comfortable sleeper
- Wake up in Chiang Mai
- Scenic northern Thailand
Cons:
- Slow (12-14 hours vs 1 hour flight)
- Can be delayed
- Not great for claustrophobic travelers
Tip: Book 2nd class lower bunk (easier to get in/out, window view)
Bangkok → Ayutthaya (day trip)
Schedule: Trains every 30-60 minutes throughout the day
Cost:
- 3rd Class: ฿15-20 (cheapest transport in Thailand!)
- 2nd Class: ฿40-65
- 3rd class is fine for this short trip
Duration: 1.5-2 hours
Station: Hua Lamphong (Bangkok) → Ayutthaya Station
Return: Last train around 9pm
Perfect for: Day trip, super cheap, see historical city
Bangkok → Hua Hin
Schedule: Multiple trains daily
Cost:
- 2nd Class: ฿250-450
- 3rd Class: ฿100-150
Duration: 3.5-4.5 hours
Station: Hua Lamphong → Hua Hin
Scenic: Coastal route, beautiful
Disclaimer: Page contains an affiliate link. If you purchase something via this link, I will earn a small commission. No additional cost.
P.S. Get access my ready-to-book Thailand itineraries and maps.