Yakarta es el mayor centro ferroviario de pasajeros de Indonesia y el principal punto de acceso occidental a la red ferroviaria interurbana de Java. La ciudad utiliza varias estaciones de tren importantes en lugar de una terminal central, con KAI operando trenes convencionales de larga distancia y KCIC operando el servicio de alta velocidad Whoosh desde Halim. Esta división es importante al reservar billetes de tren de Yakarta, porque la elección de la estación depende del tipo de servicio y de la ruta.
Los servicios de larga distancia de KAI utilizan Gambir y Pasar Senen para muchos trenes en toda Java, mientras que Jatinegara y Jakarta Kota gestionan determinados movimientos interurbanos y regionales. Halim es la terminal de Yakarta para el tren de alta velocidad Whoosh hacia Java Occidental. KAI Bandara opera la conexión ferroviaria con el aeropuerto entre las estaciones del centro de Yakarta y el Aeropuerto Internacional Soekarno-Hatta, ofreciendo acceso ferroviario a la zona del aeropuerto sin utilizar las vías interurbanas.
Las rutas ferroviarias desde Yakarta avanzan hacia el este por Java en dirección a Cirebon, Semarang, Yogyakarta, Solo, Surabaya y Malang, con servicio de alta velocidad hacia el sureste en dirección a Bandung vía Halim. Los trenes a Yakarta llegan desde Java Central, Java Oriental, Java Occidental y el corredor del aeropuerto. Reserve trenes desde y hacia Yakarta en línea en Rail Monsters.