What you’re looking at
The city seen from above the harbor, looking north over Lower Manhattan, Brooklyn and Queens: its buildings in white, its streets, and its parks in green. Each subway line is drawn in its own colour along its track, over the buildings it runs under, and every station is a dot. Each small three-car mark is a train in service, moving toward its next stop, with its nose pointing the way it’s going. Zoom in and the buildings come up around the lines, and each train pulses in its line’s colour so you can find it among them.
Nothing here is a schedule or a simulation of one. Every train on the map is one the MTA’s live feeds say is running now, and it moves as their predictions do.
Inside the stations
Twelve of the busiest and most tangled stations are pinned on the map: Times Square–42 St, Grand Central–42 St, Herald Square, 14 St–Union Square, Fulton Street, Penn Station, 59 St–Columbus Circle, Flushing–Main Street, Jackson Heights–Roosevelt Av, Bryant Park–5 Avenue, First Avenue and Bedford Avenue. Click one, or pick it under the map, to open it in cutaway: every level under the street, each track and platform, and every train the feed has due there in the next few minutes coming in on its own track, with an arrivals board beside it.
The cutaways are diagrams, not surveys. Where a station’s stacking is documented they follow the sources; elsewhere, and in every depth and dimension, they are illustrative, and each station says which. Which track a train takes is worked out from its line and its next stops, not reported by the MTA.
Right now, line by line
How many trains each line is running at this moment. The numbers change through the day, with more trains at rush hour than late at night, and a few lines run only on weekdays, so at night and at weekends they show none.
How a train is placed
The MTA publishes eight live feeds for the subway and the Staten Island Railway. They don’t say where a train is. They say when each train is expected at each of its next stops, the same predictions behind the countdown clocks on the platforms.
Every 30 seconds, our server reads the feeds and matches each trip’s stops to a stopping pattern in the MTA’s schedule data, which gives the track it runs on. It then puts the train between its last stop and its next one, by how far along it should be at that minute. In your browser each train eases from one estimate to the next instead of jumping, and slows into each station.
These are estimates, not GPS. A trip whose stops match no pattern in the schedule, such as a diversion around track work, stays off the map rather than being guessed onto a line. A train that drops out of one read of the feed keeps running on its last plan for up to ten minutes. The MTA doesn’t vouch for the feeds: the data may not be accurate, complete or timely.
Where the city wants homes
On October 17 we mapped New York’s first housing targets, a goal for new homes in every community district by 2030. Transit is built into how they were set. The city starts from a growth rate for each district and raises it by up to 10 percent, in proportion to how much of the district’s land is in what zoning calls the Greater Transit Zone.
That step was added after public comment on the August draft. The lines on this map are the reason for it.

