Chicago Rail Atlas
Explore Chicago station by station: the geography of eight rail lines, local ridership history, and current service information.
A familiar stop. A changing city. A new way to see the places that connect your Chicago.
Find your stationAnimated route traces, not live train positions
Every station.
A different story.
Follow the geography of the “L”, then look beneath the route. Choose a station to see how its recorded entries changed, month by month.
Select a point to explore. Scroll normally; enable “Move map” to pan and zoom.
Explore the full monthly record, then compare the same months across two years. Every value counts entries at this station, including all lines that serve it.
One point per month. A gap means no reported data; a point at zero means zero recorded entries. June 2026 is the last published month in this capture.
Read the complete monthly comparison table
Both series use the same zero baseline. Missing months are marked with a dash. Comparisons use matching months; partial years never stand in for a complete year.
A city, over time
Your old stop.
Your next journey.
Start with a station you know. Compare its busiest months, follow the changes across years, or open the real stop in your preferred maps app. The station card keeps its history beside the practical information you need to use it today.
Choose any of the eight lines or explore the full network. Stations shared by several services carry all their route colors. The glowing paths follow published rail geometry; their motion is an illustration of the network, while arrival predictions and service alerts have their own timestamps.
This is my independent project. Data provided by Chicago Transit Authority. It is neither made nor endorsed by CTA.
The project behind the atlas
From one line
to a whole city.
My CTA Red Line Ridership: 2018–2023 publication began with one of Chicago’s defining routes. This atlas extends that subject into an interactive view of the rail network, with a new analysis of official station-entry data and route geometry.
My relationship to Chicago is personal as well as analytical. I had an established life here, and I would love to return. Read my Chicago chapter →
Original publication and this edition
The original public Kaggle record identifies the publication and its date, February 5, 2025. Its current public notebook response contains no substantive code or output. The calculations in this atlas are a new, reproducible analysis of the official data; they are not presented as recovered results from the original notebook.
Sources & interpretation
Know what the numbers mean.
Station entries and comparisons
Monthly totals sum daily entries for each station ID from the Chicago station-entry dataset. The available series runs from January 2018 through June 2026. These are entries, not unique people, complete journeys, or ridership attributable to a particular line at a shared station.
Partial years are marked. Year-over-year comparisons use the same available months in both years. Missing observations remain missing; they are not converted into zero ridership. Current line membership provides a way to browse stations, not a reconstruction of every historical service pattern.
Route geometry and accessibility
The paths come from CTA’s published GTFS schedule data, captured September 5, 2026 from the August 6 package. Shapes include direction and branch variations. The interactive street map uses geographic coordinates, with north up by default. Streets, buildings, and place labels come from OpenStreetMap through OpenFreeMap and OpenMapTiles, rendered with MapLibre. Zooming closer magnifies the available vector detail; it does not create new survey measurements. The optional 3D view uses building heights supplied by that map source.
Station names, coordinates and accessibility fields come from the official station list. An accessibility designation describes station infrastructure. Check current elevator alerts before relying on an accessible journey.
Current service information
Service status comes from CTA’s Customer Alerts API. Available arrival predictions come from its Train Tracker API. A failed feed is shown as unavailable. Scheduled geography and animated route traces never substitute for live observations.
Official train arrival tools · Official service and elevator alerts