Philadelphia subway schedule

First and last train on every line, minutes between trains by time of day, and the four kinds of day the timetable actually has

When there are trains

First train
4:06 amon a weekday, somewhere on the network
Last train
2:16 amall four kinds of day run past midnight
Trips on a weekday
1026both directions, all three lines
Kinds of day
4weekday, Saturday, Sunday and holiday
LineMonday to FridaySaturdaySundayHoliday service
B Broad Street Line4:40 am – 12:15 am4:40 am – 12:15 am4:40 am – 12:15 am4:40 am – 12:15 am
L Market–Frankford Line4:36 am – 12:11 am4:36 am – 12:11 am4:36 am – 12:11 am4:36 am – 12:15 am
M Norristown High Speed Line4:06 am – 2:12 am4:40 am – 2:16 am4:45 am – 2:15 am4:45 am – 2:15 am

The two city lines do something you do not see in many networks: they open the same hours every day of the week. The B runs from 4:40 am to 12:15 am and the L from 4:36 am to 12:11 am, Monday through Sunday and on the holiday dates too. Saturday is not a late start and Sunday is not a short day: what changes between them is only how often the trains come.

The M is the exception, and that fits what it is — an interurban line rather than a city metro. Its window does move: it starts earliest on weekdays and later at the weekend, and its last trains are the latest on the network. If you are coming back from the county late, that is the line to check by name rather than by habit.

The window of a line is the span in which some train of that line is running, in either direction and on any of its patterns. It is not a promise about your station or your direction: the express stops running in the early evening, the Ridge Avenue spur stops earlier still, and neither of them runs every day. Your station page has the figure that applies to you.

The four kinds of day

Weekday, Saturday, Sunday and a holiday timetable for two dates. Counted from the published schedule, not assumed.

Kind of dayDates in the scheduleTrips on one such dayTrips by lineFirst departureLast departure
Monday to Friday771026B 568, L 332, and M 1264:06 am2:12 am (next day)
Saturday16619B 304, L 207, and M 1084:36 am2:16 am (next day)
Sunday17495B 208, L 207, and M 804:36 am2:15 am (next day)
Holiday service2519B 218, L 221, and M 804:36 am2:15 am (next day)

The timetable does not have seven daily patterns, it has four: Monday to Friday, Saturday, Sunday, and a separate holiday timetable that applies to exactly 2 dates in the published schedule. Everything else on this page is organised by those four, because that is how the data is organised.

The holiday one is the odd case, and it is worth reading before you plan around a holiday: it is not the same for all three lines.

Christmas Day runs a Sunday service, not a holiday oneThis is the one people get wrong. 25 December 2026 has no timetable of its own: the data adds that date to the Sunday group, so the trains that day are the Sunday trains. The separate holiday timetable in the data applies to 26 November 2026 and 1 January 2027 and to nothing else.
On a holiday the three lines do two different thingsOn 26 November 2026 and 1 January 2027 the B and the L each run a holiday timetable of their own — close to a Sunday but not identical: 109 southbound departures on the B local against 104 on a Sunday, and 111 eastbound on the L against 104. The M has no holiday timetable at all, so it is given its Sunday one instead, and its two columns match exactly: 40 departures either way. Same date, two different arrangements.
And two Saturdays that look special and are notTwo Saturdays in this schedule are rewritten in the data: one service identifier is withdrawn and another is added, with identical trips. It is the same Saturday timetable under a different number — not a special service — so they are published as ordinary Saturdays. It is also a good reason not to trust a service identifier as the name of anything.
How much thinner a holiday isCounted across the whole network: 1026 trips on a weekday, 619 on a Saturday, 495 on a Sunday and 519 on one of the two holiday dates. A holiday here is a Sunday-ish day, not a shutdown.

How often the trains run

By service pattern and by direction, because on this network those are not the same thing as by line.

This is the part most subway pages get wrong, and it is worth explaining why. On the B, three different services share the same track: the local, the express and the Ridge Avenue spur. Count all their departures together at a station in the centre and you get a train about every minute — which is true, and useless, because no single one of those trains goes where all three go.

So every table below belongs to one service pattern, in one direction, on one kind of day. That is the number you can act on: how long you wait for a train that actually stops where you are going.

B Broad Street Line Local

Fern Rock Transit Center → NRG Station. Runs: Mon–Fri, Sat, Sun, and Holiday. Where the two directions differ, the cell shows southbound then northbound.

DayEarly morning
before 7 am
Morning peak
7–9:30 am
Midday
9:30 am – 3:30 pm
Afternoon peak
3:30–6:30 pm
Evening
6:30–9 pm
Late night
after 9 pm
Monday to Friday9 / 15 min7 min7 min7 min11.2 / 10 min12 min
Saturday15 min10 min10 min10 min11.5 / 10 min12 min
Sunday16 / 18 min12 min10 min10 min12 min12 min
Holiday service16 / 18 min12 min8 min10 min12 min12 min

B Broad Street Line Express

Fern Rock Transit Center → Walnut-Locust. Runs: Mon–Fri. Where the two directions differ, the cell shows southbound then northbound.

DayEarly morning
before 7 am
Morning peak
7–9:30 am
Midday
9:30 am – 3:30 pm
Afternoon peak
3:30–6:30 pm
Evening
6:30–9 pm
Late night
after 9 pm
Monday to Friday8.1 / 17.2 min7 min14 / 13 min7 minno serviceno service

B Broad-Ridge Spur

Fern Rock Transit Center → 8th-Market. Runs: Mon–Fri and Sat. Where the two directions differ, the cell shows southbound then northbound.

DayEarly morning
before 7 am
Morning peak
7–9:30 am
Midday
9:30 am – 3:30 pm
Afternoon peak
3:30–6:30 pm
Evening
6:30–9 pm
Late night
after 9 pm
Monday to Friday11.2 / 10.6 min7 min14 min7 min19.5 / 17 minno service
Saturday20 min20 min20 min20 min20 minno service

L Market-Frankford Line All Stops

69th Street Transit Center → Frankford Transit Center. Runs: Mon–Fri, Sat, Sun, and Holiday. Where the two directions differ, the cell shows eastbound then westbound.

DayEarly morning
before 7 am
Morning peak
7–9:30 am
Midday
9:30 am – 3:30 pm
Afternoon peak
3:30–6:30 pm
Evening
6:30–9 pm
Late night
after 9 pm
Monday to Friday6 / 8 min6 min6 min6 min10 / 8 min12.5 / 12 min
Saturday16 / 18 min10 / 12 min10 min10 min12 min15 min
Sunday16 / 18 min10 / 12 min10 min10 min12 min15 min
Holiday service16 / 18 min9 / 11.5 min8 min10 min12 / 10 min15 min

M Norristown High Speed Line Local

69th Street Transit Center → Norristown Transit Center. Runs: Mon–Fri, Sat, Sun, and Holiday. Where the two directions differ, the cell shows northbound then southbound.

DayEarly morning
before 7 am
Morning peak
7–9:30 am
Midday
9:30 am – 3:30 pm
Afternoon peak
3:30–6:30 pm
Evening
6:30–9 pm
Late night
after 9 pm
Monday to Friday15 / 16 min15 min30 min15 min20 min34 / 31 min
Saturday20 / 22 min20 min20 min20 min30 min45 / 36.5 min
Sunday35 / 46.5 min30 min30 min30 min30 min45 / 37 min
Holiday service35 / 46.5 min30 min30 min30 min30 min45 / 37 min
These minutes are measured, not declaredThe schedule data has no frequency file — nothing in it says “a train every seven minutes”. What it has is every departure of every trip. The figures above are the median gap between consecutive departures inside each time band, counted from those trips. Timetables are not perfectly even, so treat a seven as “about seven”, and read a late-night 12 as the real wait it is.

First and last train, line by line

By pattern and direction, with the number of departures behind each column.

B Broad Street Line Local

DayFirst southboundLast southboundFirst northboundLast northboundDepartures
Monday to Friday4:40 am12:04 am (next day)4:51 am12:15 am (next day)140
Saturday4:40 am12:04 am (next day)4:51 am12:15 am (next day)108
Sunday4:40 am12:04 am (next day)4:51 am12:15 am (next day)104
Holiday service4:40 am12:04 am (next day)4:51 am12:15 am (next day)109

B Broad Street Line Express

DayFirst southboundLast southboundFirst northboundLast northboundDepartures
Monday to Friday5:47 am6:01 pm6:17 am6:30 pm59

B Broad-Ridge Spur

DayFirst southboundLast southboundFirst northboundLast northboundDepartures
Monday to Friday5:24 am8:34 pm5:45 am8:58 pm85
Saturday6:16 am8:37 pm6:46 am9:15 pm44

L Market-Frankford Line All Stops

DayFirst eastboundLast eastboundFirst westboundLast westboundDepartures
Monday to Friday4:45 am12:11 am (next day)4:36 am11:59 pm166
Saturday4:45 am12:11 am (next day)4:36 am11:59 pm104
Sunday4:45 am12:11 am (next day)4:36 am11:59 pm104
Holiday service4:45 am12:15 am (next day)4:36 am11:59 pm111

M Norristown High Speed Line Local

DayFirst northboundLast northboundFirst southboundLast southboundDepartures
Monday to Friday4:06 am1:40 am (next day)4:39 am2:12 am (next day)63
Saturday4:40 am1:42 am (next day)5:20 am2:16 am (next day)54
Sunday4:45 am1:42 am (next day)5:20 am2:15 am (next day)40
Holiday service4:45 am1:42 am (next day)5:20 am2:15 am (next day)40
Times after midnight are marked, not cut offAll four kinds of day run past midnight here, and the last departures land in the small hours — up to 2:16 am. The schedule data writes those as hour 25 or 26 of the previous service day; trimming them to a 24-hour clock would quietly delete the night service, so they are published as (next day) instead. A train marked 12:04 am (next day) on a Friday is the one you catch late on Friday night.

These are the first and last departures of the whole pattern, from its end of the line. Your station is further along, so your first train is later and your last train is earlier — by the riding time between you and the terminus. Each station page gives the first and last train at that station, in both directions, and that is the figure to use.

The first train of the day runs non-stop into the centre

16 trips in the published schedule, and they are the reason an early train can pass your platform without stopping.

Here is something that is in the schedule and almost nowhere else. On the B and the L, the first trip of each service day leaves its terminus and does not stop until 15th St/City Hall, in the centre. From there it calls normally. There are 16 such trips — one per line, direction and kind of day — and they are the only trips in the whole schedule that skip stations the way they do.

The leg it runs non-stopNon-stopCalling at every stopDifferenceTrips
L Frankford Transit Center → 15th St/City Hall24 min26 min2 min faster4
B Fern Rock Transit Center → 15th St/City Hall20 min26 min6 min faster4
L 69th Street Transit Center → 15th St/City Hall15 min15 minno faster4
B NRG Station → 15th St/City Hall9 min12 min3 min faster4

And the honest part: the saving is not the same on both lines. On the B it is real — several minutes off a long run from either end. On the L the published times for the non-stop leg are barely better than calling at every stop, and in one direction they are the same. Whatever the reason is — and the data does not give one — if you are at a station between the terminus and the centre, the first train past you is the second trip of the day, not the first.

65 extra express trips on 18 separate dates

All of them on the same line, in the same direction, to the same station. The schedule gives no reason and this page does not guess one.

Alongside the regular timetable, the schedule contains 33 service identifiers with no weekly pattern at all: they exist only as individual dates. Together they add 65 trips on 18 dates, and every single one of them is the same thing — a Broad Street Line Express working from Fern Rock Transit Center to NRG Station, southbound, calling at nine stations in about 26 min.

That last stop is the interesting bit: the express normally turns at Walnut-Locust, in the centre. These trips carry on to the southern end of the line. The data does not say why, so neither does this page — what you get here is the dates, the count and the times, which is what the schedule actually publishes.

DateExtra tripsDepartures betweenRunning to
1 November 202622:40 pm – 2:50 pmNRG Station
2 November 202626:10 pm – 6:20 pmNRG Station
3 November 202626:10 pm – 6:20 pmNRG Station
4 November 202626:40 pm – 6:50 pmNRG Station
5 November 202625:40 pm – 5:50 pmNRG Station
8 November 20261510:00 am – 5:50 pmNRG Station
10 November 202626:30 pm – 6:40 pmNRG Station
12 November 202626:10 pm – 6:20 pmNRG Station
13 November 202626:10 pm – 6:20 pmNRG Station
15 November 2026411:40 am – 6:20 pmNRG Station
17 November 202626:10 pm – 6:20 pmNRG Station
19 November 202636:10 pm – 6:30 pmNRG Station
21 November 2026411:40 am – 5:50 pmNRG Station
22 November 2026131:30 pm – 3:30 pmNRG Station
23 November 202626:10 pm – 6:20 pmNRG Station
25 November 202626:10 pm – 6:20 pmNRG Station
28 November 202626:20 pm – 6:30 pmNRG Station
29 November 202626:20 pm – 6:30 pmNRG Station
They are kept out of the regular frequencies on purposeIf these trips were counted as part of the ordinary timetable, every one of their dates would become a kind of day of its own: the schedule would have sixteen day types instead of four, and the frequency tables above would be nonsense. They are also not identified by “runs on one date only” — one of them runs on nine separate dates. The test is that they have no row in the weekly calendar at all.

What the schedule does not publish

Four things people look for on a schedule page that are not in the source. They are better absent than guessed.

What the schedule does not giveWhat this page does instead
How long a transfer takesThe data has no transfer file, and the file that does describe the inside of six stations gives walking lengths, not transfer times. So no trip on this site adds minutes for a change of platform. Three minutes would look like a fact and would not be one.
A declared frequencyThere is no frequency file in the data: nothing in it states “every seven minutes”. Every interval on this page is computed by counting departures inside a time band, which is why you sometimes see a figure like 11.2 min rather than a round number.
Whether a station is underground, elevated or at street levelNot a field in the data. On the L you can see it from the train, but seeing it is not the same as having it published, so no station page here asserts it.
Planned engineering work, closures and opening datesNone of it is in the schedule data. The schedule published for these dates is the schedule as planned; service notices about a particular day appear in the status panel on the home page when the operator posts one.

Frequently asked questions about the schedule

The earliest departure anywhere on the network is 4:06 am on a weekday. At your own station it is later: these are departures from the end of the line. And note that the first trip on the B and the L runs non-stop into the centre, so at an intermediate station the first train that stops for you is the second one out.

The last departure in the schedule is 2:16 am. All four kinds of day run past midnight, and the late-night figures on this page are marked (next day) for that reason.

On a weekday, every 6 min on the L in the middle of the day and every 7 min on the B local; the express runs every 7 min in the peaks and the M, which is an interurban line, every 30 min at midday. All of it by pattern, direction and kind of day in the tables above.

Yes, and this is the detail worth knowing: 25 December does not get a timetable of its own. The data puts it in the Sunday group, so a Christmas Day service is a Sunday service. The two dates that do get a separate holiday timetable are 26 November 2026 and 1 January 2027.

No. On the two holiday dates the B and the L run a holiday timetable of their own, while the M is given its Sunday timetable. Three lines, two different arrangements, same date.

No. The Broad Street Line Express runs Monday to Friday only, and it finishes in the early evening. The Ridge Avenue spur runs on weekdays and Saturdays but not on Sundays or on the holiday dates. On a Sunday the B is the local, and only the local.

On the station’s own page: first and last train in each direction, how often trains run and how long it takes to the stations around it. The tables here are for the line as a whole — replicating 70 station timetables on one page would help nobody. Start from the map or from a line page.

The schedule published here runs from 1 November 2026 to 20 February 2027, which is the window the source declares. It is read again and recomputed from scratch rather than edited by hand, so when the operator publishes a new schedule every figure on this page moves with it.

The schedule shown runs to 20 February 2027. Sources, licences and how these numbers are checked.

On this page