AirOrSeaTravel is an independent guide. Bookings on this page are completed on the provider’s own website. How we are funded.

AirOrSeaTravel — find your way there
Trains

Trains to cities in Saudi Arabia

The stations on record and the rail routes to nearby cities with estimated times, city by city, from public data.

28 cities in Saudi Arabia have a trains page: the stations on record and the rail routes to nearby cities with estimated times. Largest first.

Trains to cities in Saudi Arabia
CityRegionPopulationStations on record
JeddahMecca Region4,697,0002
RiyadhRiyadh Region4,205,9611
MakkahMecca Region1,578,7221
MadinahMedina Region1,300,0002
DammamEastern Province1,252,523
SulţānahMedina Region946,697
BuraydahAl-Qassim Region745,353
Ta’ifMecca Region688,693
TabukTabuk Region667,0001
Ha'ilHa'il Region605,930
NajrānNajran Region505,652
Al KharjRiyadh Region425,300
Khamis Mushait'Asir Region387,553
Al HufūfEastern Province293,179
Al MubarrazEastern Province290,802
Hafar Al-BatinEastern Province271,642
Al JubaylEastern Province237,274
ŞabyāJazan Region228,375
Abha'Asir Region210,886
YanbuMedina Region200,161
UnaizahAl-Qassim Region183,319
KhobarEastern Province165,799
ArarNorthern Borders Region148,540
SakakahAl Jawf Region128,332
Az ZulfīRiyadh Region125,000
Bīshah'Asir Region115,537
JizanJazan Region105,198
QurayyatAl Jawf Region102,903

Common questions

Which cities in Saudi Arabia have a trains page?

Jeddah, Riyadh, Makkah, Madinah, Dammam, Sulţānah, Buraydah, Ta’if, Tabuk, Ha'il and 18 more.

What currency is used in Saudi Arabia?

The Rial (SAR).

Where these facts come from

  • GeoNames (CC BY 4.0): population, elevation, time zone, postal codes
  • Wikidata (CC0): area, sister cities, visitor numbers, heritage listings, stations and ports
  • OurAirports (public domain): airports, runways
  • Natural Earth (public domain): map outlines

Data compiled 13 September 2026. Hotel figures are from our booking partner’s catalogue on that date. Journey times on this page are estimates from distance, not timetables; check the operator before you rely on one.