Explore bus stops and routes on the map for all bus services in Singapore, with realtime bus arrival times and per-bus-stop passing routes overview.
- All bus stops shown even in low zoom levels.
- Full routes display with all stops for every service.
- View all routes passing through a stop.
- Bus arrival times for every stop.
- First/last timings for all services.
Previously known as Singapore Bus Routes Explorer, abbreviated as 'SBRE' and previously looks like this:
A separate mini-site showing ALL stops and routes on a map. All of them.
Check it out: Visualization mini-site (
All data such as bus stops, services and routes are mostly scraped from https://www.lta.gov.sg/, which means they are copyrighted by the Land Transport Authority.
They are available here: cheeaun/sgbusdata.
The scripts for the web app:
- npm start- start server for development
- npm run build- build for production and deployment, in- ./distfolder.
At least Node.js 14 is required.
The scripts to generate the data, in order:
- node visualization/build-routes.mjs- Reads data.busrouter.sg/v1/data/stops.min.jsonand transform routes data with "levels" for 3D extrusion.
- Generates visualization/data/routes.jsonandvisualization/data/levels.jsonto be read by thebuild-stopsscript.
 
- Reads 
- node visualization/build-stops.mjs- Reads data.busrouter.sg/v1/data/stops.min.geojsonand buffered into triangle polygons which will be 3D-extruded.
- Generates visualization/data/stops.3d.json.
 
- Reads 
Data © LTA © OneMap © OSM contributors. Everything else: MIT
If you have any feedback, leave them on Discussions or tweet me @cheeaun on Twitter.
- Inspired by this tweet.
- Icon is from The Noun Project
- Color scheme initially inspired by Gothere.sg
- Thanks to Eddy Yanto for building the iPad app until mid-2015.



