About NYCSubMap
Where the data comes from, how the planner works, and what it cannot tell you.
We are not the MTA
NYCSubMap is an independent site. It is not affiliated with, endorsed by, or licensed by the Metropolitan Transportation Authority. We use their public data feeds, which they make freely available to developers, and nothing else of theirs — not their map, not their logo, not their route symbols. The map on this site is our own drawing, generated from station coordinates.
Where the numbers come from
Everything you see is derived from the MTA's published GTFS feed — the same timetable data the agency releases for anyone to build on. From it we take 444 stations, 29 services, and the scheduled running time between every pair of adjacent stations on every line.
For each of those pairs we keep the median scheduled time rather than the average. A handful of overnight trips that crawl past track work would drag an average well past what you would actually experience; the median tells you about the ordinary trip.
Waiting time is estimated as half the typical gap between trains on that line at that hour, counted from the weekday schedule. Transfer time between platforms is the MTA's own figure from the feed, plus a fixed allowance for the nuisance of changing at all — which is why the planner will not send you through three changes to save ninety seconds.
What this is not
- It is not live train tracking. We do not tell you that the next downtown 6 is four minutes away. The times here come from the published schedule, so read them as typical rather than promised.
- It is not a guarantee. Service changes constantly, especially at weekends and overnight. Check the posted signs and listen to the announcements.
- It is subway only. No buses, no ferries, no PATH, no Metro-North or LIRR. If there is no subway route between two places, we say so rather than inventing one.
Service alerts
We poll the MTA's public service-alert feed and relay what it says. It can lag what is happening on the platform by a few minutes, and it will not tell you when a problem will be fixed — neither will we, because we do not know.
If you save a route, we match incoming alerts against the specific lines and stations that route uses, not just the endpoints. An alert about three stations in Canarsie does not email somebody who only rides the L between 1 Av and 8 Av. We would rather miss an edge case than train you to ignore us.
How this is paid for
Advertising. There are ad slots on this site, every one of them labelled. There is deliberately no ad between the steps of a journey: if you are reading “change at Jay St-MetroTech” while standing on a platform, an advertisement does not belong between step two and step three.
Found something wrong?
Travel times that are badly off, a transfer we have missed, a station in the wrong place — tell us. The underlying data is the MTA's, but how we read it is ours, and that is the part we can fix.