Introduction

SEPTA bus route 12 operates between Columbus-Dock and 50th-Woodland via Grays Ferry Avenue, and Walnut/Locust Streets. Bus service on route 12 is provided by Southern Depot (District 7).

SEPTA 8013 on Route 12 by DashTransit

Please Donate!
If everyone reading this could donate just one dollar today, we could afford to have Virtual Transit Center on the web for up to 6 years without interruption, or even the need for ads. For those who enjoy Virtual Transit Center and the services we provide, please consider donating.
Paypal Donate

SEPTA Route 12 Routing

SEPTA Route 12, August 2026
SEPTA Route 12, August 2026

SEPTA Route 12 operates from Columbus-Dock to 50th-Woodland, via Spruce/Pine Streets east of 7th Street, and Walnut/Locust Streetss between 8th and 23rd Streets. From 23rd Street (22nd Street eastbound), route 12 operates to Grays Ferry Avenue, then via Grays Ferry to Paschall Street, terminating outside of Woodland Maintenace shops at 50th Street and Woodland Avenue.

Key Transfer Points on Route 12

Transfer points along bus route 12 include..

  • Columbus Boulevard and Dock Street
    • SEPTA bus routes 21, 42, and 76
  • Broad Street (Locust Street eastbound and Walnut Street westbound)
    • SEPTA Metro B1 and B2, lines at Walnut-Locust Station
    • SEPTA bus routes 4, 9, 16, 21, 27, 32, 42
  • 50th Street and Woodland Street
    • SEPTA Metro T4 and T5 lines at 49th-Woodland
    • SEPTA bus routes 52 and 64

SEPTA Route 12 Origins

SEPTA Route 12 actuall can trace its roots back to two transit lines.

  • Route 12 service from 5th-Market to Darby
  • Route 90 Crosstown service on Spruce and Locust Streets

We will first go over route 90, since that route is more consistent.

Route 90, Spruce/Locust Crosstown Service, 1949-1997

Route 90 was created on May 29th, 1949, replacing trolley service from route 12 that operated on Spuce/Pine Streets. This bus route operated from 3rd & Pine Streets to 23rd & South Streets via Spruce Street westbound and Locust Street eastbound.

Route 90 would see its first extension on January 22nd 1989, with service being extended west to Bainbridge St. & Schuylkill Ave.. The next and final extension would be July 10th 1990, when it was extended to University City via the South Street Bridge and the Civic Center.

Route 90 would be discontinued on September 7th 1997, and merged into existing route 12.

Route 12 Grays Ferry Line

The original route 12 was labeled on July 14th 1912 to trolley service that operated from 9th & Main in Darby (the current location of Darby Transit Center) and 2nd & Dock in Philadelphia. This line took Woodland Avenue to Grays Ferry Avenue, then took Grays Ferry to 22nd/23rd Streets, operating crosstown via Spruce/Pine Streets to 2nd and Dock.

SEPTA #783 working route 12 at 5th & Market Streets. Photograph taken May 16, 1970 by Joe Testagrose.
SEPTA #783 working route 12 at 5th & Market Streets. Photograph taken May 16, 1970 by Joe Testagrose.

Route 12 would be re-routed on May 29th 1949 to operate via Lombard/South Streets to 13th & South, with late night and Sunday service going all the way to Front & South Streets. By January 10th 1954, all service to Front & South Streets was removed, and route 12 would only operate to 13th & South at all times.

A year later, the western end was shortened, as on November 6th 1955, the western terminus was moved from Darby to Island Avenue & Elmwood Avenue.

A year after that, trolley service was removed from route 12, replaced with bus service. That bus service also came with yet another re-route as route 12’s western terminus was moved to 49th & Woodland, and the eastern route was moved from Lombard/South Streets to Market Street.

Route 12 would basically stay consistent until September 7th 1997, when the route 90 crosstown service was discontinued, and route 12 was re-routed to cover it. Route 12 would now operate from 3rd-Pine to 50th-Woodland via Walnut and Locust Streets, with peak hour trips also operating through University City instead of through Grays Ferry Avenue.

The normal routing of route 12 would remain the same between then and 2015, but the “via University City” routing that was added would go through several changes.

In January 2007, ahead of the South Street Bridge rebuild, via University City trips on route 12 would be re-routed to operate via Chestnut/Walnut Streets west of 23rd/22nd Streets to then serve University City

On November 2nd 2008 the “via University City” trips were re-routed to operate the normal routing of route 12, go up 34th Street from Grays Ferry Avenue, do the loop around University City, then come back down 34th Street to Grays Ferry Avenue. The “via University City” routing would be fully removed on June 13th 2010, ironically ahead of the South Street Bridge re-opening.

On June 14th 2015, route 12 was extened east from 3rd-Pine to Columubus-Dock, the location of Spruce Street Harbor Park.

With the new bus network, route 12 is to be re-route to operate via Chestnut/Walnut Streets instead of Walnut/Locust Streets.

Other Routes using the same numbers

The number 90 is currently assigned to a bus route operating in Norristown, between the Norristown Transit Center, Penn Square, and Plymouth Meeting Mall. This route is set to be discontinued in Summer, 2027.

Timetables

Route 12 is still active, so it’s best to look at SEPTA’s offical website for current timetables. Below are historic timetables for route 12 and original route 90, and should be used for archival purposes only. This should not be used for actual service planning. These will have their effective dates listed below. If you are looking for old timetables of suburban route 90, check the route 90 spotlight page.

Audio Announcements

These are the door announcements that played when the doors opened on SEPTA Route 12, this was for buses delivered between 1996 and 2016.