Jakarta est le plus grand hub ferroviaire de passagers d'Indonésie et le principal point d'accès occidental au réseau ferroviaire interurbain de Java. La ville utilise plusieurs grandes gares plutôt qu'un seul terminal central, KAI exploitant les trains interurbains conventionnels longue distance et KCIC exploitant le service à grande vitesse Whoosh depuis Halim. Cette distinction est importante lors de la réservation de billets de train Jakarta, car le choix de la gare dépend du type de service et de l'itinéraire.
Les services longue distance de KAI utilisent Gambir et Pasar Senen pour de nombreux trains à travers Java, tandis que Jatinegara et Jakarta Kota gèrent certaines liaisons interurbaines et régionales. Halim est le terminal de Jakarta pour le train à grande vitesse Whoosh à destination de Java occidental. KAI Bandara exploite la liaison ferroviaire aéroportuaire entre les gares du centre de Jakarta et l'aéroport international Soekarno-Hatta, offrant un accès ferroviaire à la zone aéroportuaire sans utiliser les voies interurbaines.
Les lignes ferroviaires au départ de Jakarta partent vers l'est à travers Java en direction de Cirebon, Semarang, Yogyakarta, Solo, Surabaya et Malang, avec un service à grande vitesse vers le sud-est en direction de Bandung via Halim. Les trains à destination de Jakarta arrivent depuis Java central, Java oriental, Java occidental et le corridor aéroportuaire. Réservez en ligne vos trains de et vers Jakarta sur Rail Monsters.