Bus route 12 in Edinburgh runs between “Marine Garage” and “Gyle Centre”.
Which way bus 12 runs

From “Marine Garage” to “Gyle Centre”: 69 stops. On the way: “King’s Road”, “Bridge Street”, “Portobello Town Hall”, “Brighton Place”, “Hamilton Terrace”, “Mountcastle Drive South”, “Duddingston Avenue”, “Meadowfield Avenue”, “Meadowfield Gardens”, “Holyrood High School”. Then “Cavalry Park”, “Peffer Bank”, “Craigmillar Castle Road”, “Craigmillar Castle Gardens”, “Kings Haugh”, “Peffermill Playing Fleids”, “Cameron House Avenue”, “Cameron Toll”, “Cameron Toll Centre”, “Gordon Terrace”. Then “Rankin Drive”, “Lussielaw Road”, “West Savile Road”, “Fountainhall Road”, “Duncan Street”, “Sciennes House Place”, “Buccleuch Terrace”, “Chapel Street”, “Bristo Square”, “Lauriston Place”. Then “Lauriston Building”, “Chalmers Street”, “Bread Street”, “Usher Hall”, “The Exchange”, “Haymarket Station”, “Magdala Crescent”, “Wester Coates”, “Kew Terrace”, “Roseburn Gardens”. Then “Ormidale Terrace”, “Murrayfield Road”, “Western Corner”, “Balgreen Road”, “Pinkhill”, “Edinburgh Zoo”, “Silvan House”, “Belgrave Road”, “St John’s Terrace”, “Kirk Loan”. Then “St Ninians Road”, “Drum Brae South”, “Meadow Place Road”, “Gylemuir Road”, “Broomhall Road”, “Broomhall Gardens”, “Forester Park Avenue”, “Broomhouse Roundabout”, “South Gyle Access”, “Bankhead Drive”. Before “Gyle Centre”: “Forrester High School”, “South Gyle Wynd”, “South Gyle Mains”, “South Gyle Park”, “Redheughs Avenue”, “Lochside Place”, “Lochside Crescent”.
The return journey is different. Towards “Marine Garage”: 68 stops. Only in this direction does it call at, among others, “Glebe Road”, “Station Road”, “Belmont Crescent”, “Glen Street”, “Bristo Place” and “Potterrow”. Only in the direction of “Gyle Centre” does it call at, among others, “Cameron Toll”, “Bristo Square”, “Lauriston Place”, “Chalmers Street”, “The Exchange” and “Kew Terrace”. For the way back, board nearby: “Cameron Toll” → “Cameron Toll Centre” (200 m), “Bristo Square” → “Bristo Place” (50 m), “Lauriston Place” → “Lauriston Building” (150 m) and “Chalmers Street” → “Lauriston Building” (200 m). Towards “Gyle Centre”, board nearby: “Glebe Road” → “Kirk Loan” (100 m), “Station Road” → “St John’s Terrace” (100 m), “Belmont Crescent” → “Western Corner” (150 m) and “Glen Street” → “Bread Street” (200 m).
Left column runs down, right column runs up. Filled stops are served both ways, dashed ones only one way: 11 towards “Gyle Centre” and 10 the other way. Tap a stop to see its name.
Other routes along the way
Shared sections with other routes: between “Haymarket Station” and “Drum Brae South” it shares the road with routes 26 and 31; between “Meadow Place Road” and “Gyle Centre” it shares the road with route 21; between “Broomhouse Roundabout” and “Gyle Centre” it shares the road with route 22.
Connections by stop, in route order:
- “Marine Garage”: buses 15, 19, 45 and 49
- “King’s Road”: buses 15, 19, 45 and 49
- Stops from “Bridge Street” to “Brighton Place”: buses 19, 45 and 49
- “Hamilton Terrace”: buses 5 and 49
- “Mountcastle Drive South”: bus 5
- “Duddingston Avenue”: buses 4, 5, 44, 106, 124 and X4
- “Meadowfield Avenue”: buses 4, 44, 106, 124 and X4
- Stops from “Peffer Bank” to “Kings Haugh”: buses 2, 14 and 30
- “Peffermill Playing Fleids”: buses 2, 14, 24, 30, 33, 38 and 49
- “Cameron House Avenue”: buses 2, 14, 24, 30, 33, 38 and 49
- “Cameron Toll” (only towards “Gyle Centre”): buses 24, 33, 38 and 49
- “Cameron Toll Centre”: buses 3, 7, 8, 24, 29, 33, 37, 38 and 49
- “Gordon Terrace”: buses 3, 7, 8, 24, 29, 37, 38 and 49
- “Rankin Drive”: buses 9, 24 and 38
- “Lussielaw Road”: buses 24 and 38
- “West Savile Road”: buses 3, 7, 8, 24, 29, 37 and 49
- “Fountainhall Road”: buses 3, 7, 8, 29, 37 and 49
- “Duncan Street”: buses 3, 5, 7, 8, 29, 37 and 49
- “Sciennes House Place”: buses 2, 3, 5, 7, 8, 9, 29, 30, 33, 37 and 49
- “Buccleuch Terrace”: buses 2, 3, 5, 7, 8, 9, 14, 29, 30, 33, 37 and 49
- “Chapel Street”: buses 2, 3, 5, 7, 8, 9, 14, 29, 30, 33, 37, 49 and 60
- “Bristo Square” (only towards “Gyle Centre”): buses 2, 3, 5, 7, 8, 9, 14, 23, 27, 29, 30, 33, 35, 37, 45, 49 and 60
- “Lauriston Place” (only towards “Gyle Centre”): buses 2, 9, 23, 27, 35, 45 and 60
- “Lauriston Building”: buses 2, 9, 23, 27, 35, 45 and 60
- “Chalmers Street” (only towards “Gyle Centre”): buses 2, 23, 24, 27, 35, 45 and 60
- “Bread Street”: buses 1, 2, 10, 11, 15, 16, 23, 24, 27, 30, 34, 35, 36, 45, 60 and 124
- “Usher Hall”: buses 1, 2, 10, 11, 15, 16, 23, 24, 27, 30, 34, 35, 36, 45, 60, 124 and X19
- “The Exchange” (only towards “Gyle Centre”): buses 1, 2, 3, 4, 10, 11, 13, 15, 16, 19, 24, 25, 30, 33, 34, 35, 36, 37, 43, 44, 60, 100, 106, 124, X4 and X19
- “Haymarket Station”: buses 2, 3, 4, 25, 30, 33, 44, 60, 100, X4 and X19
- “Magdala Crescent”: buses 2, 3, 4, 25, 33, 44, 100 and X19
- “Wester Coates”: bus 100
- “Kew Terrace” (only towards “Gyle Centre”): bus 100
- “Roseburn Gardens”: buses 100 and X19
- “Ormidale Terrace”: buses 100 and X19
- Stops from “Murrayfield Road” to “Balgreen Road”: buses 38, 100 and X19
- “Pinkhill”: buses 100 and X19
- “Edinburgh Zoo”: buses 100 and X19
- “Silvan House” (only towards “Gyle Centre”): buses 100 and X19
- “Belgrave Road”: bus X19
- “St John’s Terrace” (only towards “Gyle Centre”): buses 1 and X19
- “Kirk Loan” (only towards “Gyle Centre”): buses 1 and X19
- “St Ninians Road”: buses 1, 100 and X19
- “Drum Brae South”: buses 1, 17, 100 and X19
- “Meadow Place Road”: buses 1, 17, 100 and X19
- “Gylemuir Road” (only towards “Gyle Centre”): buses 1, 17, 100 and X19
- “Broomhall Road”: bus 1
- “Forester Park Avenue”: bus 2
- “Broomhouse Roundabout”: buses 2 and 18
- “South Gyle Access” (only towards “Gyle Centre”): buses 2, 18, 32 and 36
- “Bankhead Drive”: buses 2 and 18
- “Forrester High School”: buses 2 and 18
- “South Gyle Wynd”: bus 18
- “South Gyle Park”: bus 18
- “Redheughs Avenue”: buses 18, 32 and 36
- “Lochside Place”: buses 18, 32 and 36
- “Lochside Crescent”: buses 18, 32, 36, 70 and 71
- “Gyle Centre”: buses 18, 32, 36, 70 and 71
- “Glebe Road” (only towards “Marine Garage”): buses 1 and X19
- “Station Road” (only towards “Marine Garage”): buses 1 and X19
- “Belmont Crescent” (only towards “Marine Garage”): buses 38, 100 and X19
- “Glen Street” (only towards “Marine Garage”): buses 1, 2, 10, 11, 15, 16, 23, 24, 27, 34, 35, 36, 45, 60 and 124
- “Bristo Place” (only towards “Marine Garage”): buses 2, 3, 5, 7, 8, 9, 14, 23, 27, 29, 30, 33, 35, 37, 45, 49 and 60
- “Potterrow” (only towards “Marine Garage”): buses 2, 3, 5, 7, 8, 9, 14, 23, 27, 29, 30, 33, 35, 37, 45, 49 and 60
- “Lady Road” (only towards “Marine Garage”): buses 3, 7, 8, 24, 29, 33, 37, 38 and 49
- “Morgan Playing Fields” (only towards “Marine Garage”): buses 2, 14 and 30
- “Cygnet Court” (only towards “Marine Garage”): buses 4, 44, 106, 124 and X4
- “Southfield Place” (only towards “Marine Garage”): bus 49
Pages for these routes: bus 1, bus 2, bus 3, bus 4, bus 5, bus 7, bus 8, bus 9, bus 10, bus 11, bus 13, bus 14, bus 15, bus 16, bus 17, bus 18, bus 19, bus 21, bus 22, bus 23, bus 24, bus 25, bus 26, bus 27, bus 29, bus 30, bus 31, bus 32, bus 33, bus 34, bus 35, bus 36, bus 37, bus 38, bus 43, bus 44, bus 45, bus 49, bus 60, bus 100, bus 106.
Passes and concessions
Tickets, passes and concessions are covered on a separate page: how to pay for public transport in Edinburgh.
Questions about bus 12
Does bus 12 go to “Portobello Town Hall”?
Yes, in both directions.
Where can I change from bus 12 to another bus route?
Most routes stop at “Bristo Square” (only towards “Gyle Centre”; 2, 3, 5, 7, 8, 9, 14, 23, 27, 29, 30, 33, 35, 37, 45, 49 and 60) and “The Exchange” (only towards “Gyle Centre”; 1, 2, 3, 4, 10, 11, 13, 15, 16, 19, 24, 25, 30, 33, 34, 35, 36, 37, 43, 44, 60, 100, 106, 124, X4 and X19). All other stops with connections are listed above.
Checked on 2 October 2026. Source of the route and stops: Lothian Buses.