# Route 12 Southwest Loop — Calgary Transit Bus Schedule, Frequency & Stops

Route 12 Southwest Loop is a Calgary Transit bus route running toward SOUTHWEST LOOP. Service operates on Monday–Friday, Monday–Thursday, Sunday & holidays, Saturday (Jun 27 – Aug 29), Stampede (Jul 6–10), Friday, Stampede (Jul 4–11), Saturday (Jun 6), Sunday (Jun 7), Saturday (Jun 13), Sunday (Jun 14), Saturday (Jun 20), Sunday (Jun 21), Stampede (Jul 2), Stampede (Jul 3), Stampede (Jul 5), Stampede (Jul 8), Stampede (Jul 12) and Stampede (Jul 13) days. On Monday–Friday & Stampede (Jul 6–10) & Stampede (Jul 2) & Stampede (Jul 3) & Stampede (Jul 8) & Stampede (Jul 13) days, service toward SOUTHWEST LOOP runs from 5:28 AM to 11:02 PM, about every 30 minutes at peak and every 30 minutes midday. Some trips display "ROUTE 12" as their destination — these trips continue in service as Route 12 at the end of the run; stay on board. All times are scheduled times, effective Jun 3 – Aug 30, 2026.

## Service alerts

### Service alert

Active Jan 1, 2026, 10:00 AM MT until Jun 11, 2026, 11:59 PM MT.

Some trips may have been removed from this route's daily trips. Please use the trip planner on calgarytransit.com to double-check your schedule before you head out to catch your bus.
### Stop moved

Active May 23, 2026, 6:00 AM MT until Jun 14, 2026, 7:00 PM MT.

Starting Saturday, May 23 through Sunday, June 14, from 9 p.m. to 5 a.m. on weekdays and 7 a.m. to 7 p.m. on weekends, there will be a eastbound road closure on Everridge Drive S.W. between Everglen Road & 24 Street S.W. for road work. Routes 11 and 12 will have a stop closure.

The following stops will be temporarily closed:

- EB Everridge DR @ Evermeadow GA S.W. (#5602) - Route 12

- WB Everridge DR @ 24 St S.W.  (#3926) - Route 11

Please use the following stops in lieu of the closed stops:

- EB Everridge DR @ Everglen RD S.W. - far side

- WB Everridge DR @ 24 ST S.W.  - near side

Alerts as of Jun 10, 2026, 6:11 AM MT

## Frequency & span — toward SOUTHWEST LOOP

Route 12 frequency and service span toward SOUTHWEST LOOP, effective Jun 3 – Aug 30, 2026

| Days | First | Last | Peak | Midday | Evening |
| --- | --- | --- | --- | --- | --- |
| Monday–Friday & Stampede (Jul 6–10) & Stampede (Jul 2) & Stampede (Jul 3) & Stampede (Jul 8) & Stampede (Jul 13) | 5:28 AM | 11:02 PM | every 30 min | every 30 min | every 30 min |
| Monday–Thursday & Friday | 5:28 AM | 11:02 PM | every 30 min | every 30 min | every 30 min |
| Sunday & holidays & Sunday (Jun 7) & Sunday (Jun 14) & Sunday (Jun 21) & Stampede (Jul 5) & Stampede (Jul 12) | 8:00 AM | 11:00 PM | every 30 min | every 30 min | every 30 min |
| Saturday (Jun 27 – Aug 29) & Stampede (Jul 4–11) & Saturday (Jun 6) & Saturday (Jun 13) & Saturday (Jun 20) | 7:30 AM | 11:00 PM | every 30 min | every 30 min | every 30 min |

## Departures from EB @ Fish Creek-Lacombe Station — toward SOUTHWEST LOOP

### Monday–Friday & Stampede (Jul 6–10) & Stampede (Jul 2) & Stampede (Jul 3) & Stampede (Jul 8) & Stampede (Jul 13)

Route 12 toward SOUTHWEST LOOP — departures from EB @ Fish Creek-Lacombe Station, Monday–Friday & Stampede (Jul 6–10) & Stampede (Jul 2) & Stampede (Jul 3) & Stampede (Jul 8) & Stampede (Jul 13), effective Jun 3 – Aug 30, 2026

| Hour | Departures |
| --- | --- |
| 5 AM | 5:28, 5:54 |
| 6 AM | 6:24, 6:54 |
| 7 AM | 7:24, 7:54 |
| 8 AM | 8:24, 8:54 |
| 9 AM | 9:24, 9:54 |
| 10 AM | 10:24, 10:54 |
| 11 AM | 11:24, 11:54 |
| 12 PM | 12:24, 12:56 |
| 1 PM | 1:24, 1:54 |
| 2 PM | 2:24, 2:59 |
| 3 PM | 3:27, 3:57 |
| 4 PM | 4:27, 4:57 |
| 5 PM | 5:27, 5:57 |
| 6 PM | 6:32 |
| 7 PM | 7:02, 7:32 |
| 8 PM | 8:02, 8:32 |
| 9 PM | 9:02, 9:32 |
| 10 PM | 10:02, 10:32 |
| 11 PM | 11:02 |

All departures (Monday–Friday & Stampede (Jul 6–10) & Stampede (Jul 2) & Stampede (Jul 3) & Stampede (Jul 8) & Stampede (Jul 13)): 5:28 AM, 5:54 AM, 6:24 AM, 6:54 AM, 7:24 AM, 7:54 AM, 8:24 AM, 8:54 AM, 9:24 AM, 9:54 AM, 10:24 AM, 10:54 AM, 11:24 AM, 11:54 AM, 12:24 PM, 12:56 PM, 1:24 PM, 1:54 PM, 2:24 PM, 2:59 PM, 3:27 PM, 3:57 PM, 4:27 PM, 4:57 PM, 5:27 PM, 5:57 PM, 6:32 PM, 7:02 PM, 7:32 PM, 8:02 PM, 8:32 PM, 9:02 PM, 9:32 PM, 10:02 PM, 10:32 PM, 11:02 PM

### Monday–Thursday & Friday

Route 12 toward SOUTHWEST LOOP — departures from EB @ Fish Creek-Lacombe Station, Monday–Thursday & Friday, effective Jun 3 – Aug 30, 2026

| Hour | Departures |
| --- | --- |
| 5 AM | 5:28, 5:54 |
| 6 AM | 6:24, 6:54 |
| 7 AM | 7:24, 7:40, 7:54 |
| 8 AM | 8:24, 8:54 |
| 9 AM | 9:24, 9:54 |
| 10 AM | 10:24, 10:54 |
| 11 AM | 11:24, 11:54 |
| 12 PM | 12:24, 12:56 |
| 1 PM | 1:24, 1:54 |
| 2 PM | 2:24, 2:59 |
| 3 PM | 3:27, 3:42, 3:57 |
| 4 PM | 4:27, 4:57 |
| 5 PM | 5:27, 5:57 |
| 6 PM | 6:32 |
| 7 PM | 7:02, 7:32 |
| 8 PM | 8:02, 8:32 |
| 9 PM | 9:02, 9:32 |
| 10 PM | 10:02, 10:32 |
| 11 PM | 11:02 |

All departures (Monday–Thursday & Friday): 5:28 AM, 5:54 AM, 6:24 AM, 6:54 AM, 7:24 AM, 7:40 AM, 7:54 AM, 8:24 AM, 8:54 AM, 9:24 AM, 9:54 AM, 10:24 AM, 10:54 AM, 11:24 AM, 11:54 AM, 12:24 PM, 12:56 PM, 1:24 PM, 1:54 PM, 2:24 PM, 2:59 PM, 3:27 PM, 3:42 PM, 3:57 PM, 4:27 PM, 4:57 PM, 5:27 PM, 5:57 PM, 6:32 PM, 7:02 PM, 7:32 PM, 8:02 PM, 8:32 PM, 9:02 PM, 9:32 PM, 10:02 PM, 10:32 PM, 11:02 PM

### Sunday & holidays & Sunday (Jun 7) & Sunday (Jun 14) & Sunday (Jun 21) & Stampede (Jul 5) & Stampede (Jul 12)

Route 12 toward SOUTHWEST LOOP — departures from EB @ Fish Creek-Lacombe Station, Sunday & holidays & Sunday (Jun 7) & Sunday (Jun 14) & Sunday (Jun 21) & Stampede (Jul 5) & Stampede (Jul 12), effective Jun 3 – Aug 30, 2026

| Hour | Departures |
| --- | --- |
| 8 AM | 8:00, 8:30 |
| 9 AM | 9:00, 9:30 |
| 10 AM | 10:00, 10:30 |
| 11 AM | 11:00, 11:30 |
| 12 PM | 12:00, 12:30 |
| 1 PM | 1:00, 1:30 |
| 2 PM | 2:00, 2:30 |
| 3 PM | 3:00, 3:30 |
| 4 PM | 4:00, 4:30 |
| 5 PM | 5:00, 5:30 |
| 6 PM | 6:00, 6:30 |
| 7 PM | 7:00, 7:30 |
| 8 PM | 8:00, 8:30 |
| 9 PM | 9:00, 9:30 |
| 10 PM | 10:00, 10:30 |
| 11 PM | 11:00 |

All departures (Sunday & holidays & Sunday (Jun 7) & Sunday (Jun 14) & Sunday (Jun 21) & Stampede (Jul 5) & Stampede (Jul 12)): 8:00 AM, 8:30 AM, 9:00 AM, 9:30 AM, 10:00 AM, 10:30 AM, 11:00 AM, 11:30 AM, 12:00 PM, 12:30 PM, 1:00 PM, 1:30 PM, 2:00 PM, 2:30 PM, 3:00 PM, 3:30 PM, 4:00 PM, 4:30 PM, 5:00 PM, 5:30 PM, 6:00 PM, 6:30 PM, 7:00 PM, 7:30 PM, 8:00 PM, 8:30 PM, 9:00 PM, 9:30 PM, 10:00 PM, 10:30 PM, 11:00 PM

### Saturday (Jun 27 – Aug 29) & Stampede (Jul 4–11) & Saturday (Jun 6) & Saturday (Jun 13) & Saturday (Jun 20)

Route 12 toward SOUTHWEST LOOP — departures from EB @ Fish Creek-Lacombe Station, Saturday (Jun 27 – Aug 29) & Stampede (Jul 4–11) & Saturday (Jun 6) & Saturday (Jun 13) & Saturday (Jun 20), effective Jun 3 – Aug 30, 2026

| Hour | Departures |
| --- | --- |
| 7 AM | 7:30 |
| 8 AM | 8:00, 8:30 |
| 9 AM | 9:00, 9:30 |
| 10 AM | 10:00, 10:30 |
| 11 AM | 11:00, 11:30 |
| 12 PM | 12:00, 12:30 |
| 1 PM | 1:00, 1:30 |
| 2 PM | 2:00, 2:30 |
| 3 PM | 3:00, 3:30 |
| 4 PM | 4:00, 4:30 |
| 5 PM | 5:00, 5:30 |
| 6 PM | 6:00, 6:30 |
| 7 PM | 7:00, 7:30 |
| 8 PM | 8:00, 8:30 |
| 9 PM | 9:00, 9:30 |
| 10 PM | 10:00, 10:30 |
| 11 PM | 11:00 |

All departures (Saturday (Jun 27 – Aug 29) & Stampede (Jul 4–11) & Saturday (Jun 6) & Saturday (Jun 13) & Saturday (Jun 20)): 7:30 AM, 8:00 AM, 8:30 AM, 9:00 AM, 9:30 AM, 10:00 AM, 10:30 AM, 11:00 AM, 11:30 AM, 12:00 PM, 12:30 PM, 1:00 PM, 1:30 PM, 2:00 PM, 2:30 PM, 3:00 PM, 3:30 PM, 4:00 PM, 4:30 PM, 5:00 PM, 5:30 PM, 6:00 PM, 6:30 PM, 7:00 PM, 7:30 PM, 8:00 PM, 8:30 PM, 9:00 PM, 9:30 PM, 10:00 PM, 10:30 PM, 11:00 PM

## Stops served — toward SOUTHWEST LOOP

52 stops, in order of travel:

1. [Stop 9187 — EB @ Fish Creek-Lacombe Station](https://calgarytransittimes.com/stops/9187/)
1. [Stop 5512 — WB James McKevitt RD @ Shawnee GA SW](https://calgarytransittimes.com/stops/5512/)
1. [Stop 7238 — WB James McKevitt RD @ Millrise WY SW](https://calgarytransittimes.com/stops/7238/)
1. [Stop 6587 — WB James McKevitt RD @ Millpark RD SW](https://calgarytransittimes.com/stops/6587/)
1. [Stop 9181 — WB James McKevitt RD @ Shawnee LI SW](https://calgarytransittimes.com/stops/9181/)
1. [Stop 9192 — WB James McKevitt RD @ Evergreen ST SW](https://calgarytransittimes.com/stops/9192/)
1. [Stop 3940 — WB Fish Creek BV @ James McKevitt  RD SW](https://calgarytransittimes.com/stops/3940/)
1. [Stop 9525 — WB Fish Creek BV @ Evergreen GA SW](https://calgarytransittimes.com/stops/9525/)
1. [Stop 9842 — WB Fish Creek BV @ N. of Everbrook DR SW](https://calgarytransittimes.com/stops/9842/)
1. [Stop 7987 — WB Fish Creek BV @ Everbrook DR (West Leg)](https://calgarytransittimes.com/stops/7987/)
1. [Stop 6079 — WB Fish Creek BV @ E. of Evercreek Bluffs GA SW](https://calgarytransittimes.com/stops/6079/)
1. [Stop 4989 — SB Everridge DR @ Fish Creek BV SW](https://calgarytransittimes.com/stops/4989/)
1. [Stop 5946 — SB Everridge DR @ Everwoods GA SW](https://calgarytransittimes.com/stops/5946/)
1. [Stop 5943 — SB Everridge DR@ Evermeadow AV SW](https://calgarytransittimes.com/stops/5943/)
1. [Stop 5602 — EB Everridge DR @ Evermeadow GA SW](https://calgarytransittimes.com/stops/5602/)
1. [Stop 5475 — EB Everridge DR @ Everridge WY SW](https://calgarytransittimes.com/stops/5475/)
1. [Stop 5472 — EB Everridge DR @ Eversyde BV SW](https://calgarytransittimes.com/stops/5472/)
1. [Stop 4932 — EB Everstone BV @ Everstone DR SW](https://calgarytransittimes.com/stops/4932/)
1. [Stop 4931 — EB Everstone BV @ James McKevitt RD SW](https://calgarytransittimes.com/stops/4931/)
1. [Stop 4782 — EB Shannon AV @ Shannon GD SW](https://calgarytransittimes.com/stops/4782/)
1. [Stop 4768 — EB Shannon AV @ Shawbrooke RD SW](https://calgarytransittimes.com/stops/4768/)
1. [Stop 8228 — SB Shawinigan DR @ Shannon DR SW](https://calgarytransittimes.com/stops/8228/)
1. [Stop 6393 — SB Shawinigan DR @ Shawbrooke DR SW](https://calgarytransittimes.com/stops/6393/)
1. [Stop 8222 — EB Shawinigan DR @ Shawfield DR SW](https://calgarytransittimes.com/stops/8222/)
1. [Stop 8221 — SB Shawinigan DR @ Shawglen RI SW](https://calgarytransittimes.com/stops/8221/)
1. [Stop 9313 — EB 162 AV SW @ 6 ST SW](https://calgarytransittimes.com/stops/9313/)
1. [Stop 9297 — SB Shawville WY @ 162 AV SE](https://calgarytransittimes.com/stops/9297/)
1. [Stop 4941 — EB Shawville WY @ W. of Shawville LI SE](https://calgarytransittimes.com/stops/4941/)
1. [Stop 6602 — SB Shawville LI @ Shawville WY SE](https://calgarytransittimes.com/stops/6602/)
1. [Stop 8511 — NB Shawville BV @ Shawville GA SE](https://calgarytransittimes.com/stops/8511/)
1. [Stop 8512 — NB Shawville BV @ Shawville RD SE](https://calgarytransittimes.com/stops/8512/)
1. [Stop 4118 — NB Shawville BV @ 162 AV SE](https://calgarytransittimes.com/stops/4118/)
1. [Stop 4117 — NB Shawville BV @ N. of Shalom WY SE](https://calgarytransittimes.com/stops/4117/)
1. [Stop 4797 — Shawnessy LRT Station](https://calgarytransittimes.com/stops/4797/)
1. [Stop 7698 — SB Shawville BV @ N. of Shalom WY SE](https://calgarytransittimes.com/stops/7698/)
1. [Stop 8526 — SB Shawville BV @ Shalom WY SE](https://calgarytransittimes.com/stops/8526/)
1. [Stop 8507 — EB Shawville BV @ Shawville RI SE](https://calgarytransittimes.com/stops/8507/)
1. [Stop 9667 — SB Sunpark PZ @ Sunpark GA SE](https://calgarytransittimes.com/stops/9667/)
1. [Stop 3978 — EB Sunpark PZ @ W. of Sunpark DR SE](https://calgarytransittimes.com/stops/3978/)
1. [Stop 6089 — NB Sunpark Dr @ Sunpark PZ SE](https://calgarytransittimes.com/stops/6089/)
1. [Stop 6069 — NB Sunpark DR @ Sunbank WY SE](https://calgarytransittimes.com/stops/6069/)
1. [Stop 7267 — NB Midpark BV @ Sun Valley BV SW](https://calgarytransittimes.com/stops/7267/)
1. [Stop 4746 — WB  Midpark BV @ Midlake WY SE](https://calgarytransittimes.com/stops/4746/)
1. [Stop 4745 — NB Midpark BV @ Midpark GA SE](https://calgarytransittimes.com/stops/4745/)
1. [Stop 7260 — NB Midpark BV @ Midpark DR SE](https://calgarytransittimes.com/stops/7260/)
1. [Stop 7258 — WB Midlake BV @ Midridge DR SE](https://calgarytransittimes.com/stops/7258/)
1. [Stop 9302 — NB Bannister RD @ 153 AV SE](https://calgarytransittimes.com/stops/9302/)
1. [Stop 9303 — NB Bannister RD @ 151 AV SE](https://calgarytransittimes.com/stops/9303/)
1. [Stop 9304 — NB Bannister RD @ 149 AV SE](https://calgarytransittimes.com/stops/9304/)
1. [Stop 9294 — NB Bannister RD @ 146 AV SE](https://calgarytransittimes.com/stops/9294/)
1. [Stop 9295 — NB Bannister RD @ North of 146 AV SE](https://calgarytransittimes.com/stops/9295/)
1. [Stop 9187 — EB @ Fish Creek-Lacombe Station](https://calgarytransittimes.com/stops/9187/)

## Service exceptions

July 1, 2026 and August 3, 2026 run the Sunday schedule.

Stampede (Jul 6–10): a special schedule applies on July 6, 2026, July 7, 2026, July 9, 2026, July 10, 2026.

Stampede (Jul 4–11): a special schedule applies on July 4, 2026, July 11, 2026.

Stampede (Jul 2): a special schedule applies on July 2, 2026.

Stampede (Jul 3): a special schedule applies on July 3, 2026.

Stampede (Jul 5): a special schedule applies on July 5, 2026.

Stampede (Jul 8): a special schedule applies on July 8, 2026.

Stampede (Jul 12): a special schedule applies on July 12, 2026.

Stampede (Jul 13): a special schedule applies on July 13, 2026.

## Frequently asked questions

### How often does Route 12 run?

On Monday–Friday & Stampede (Jul 6–10) & Stampede (Jul 2) & Stampede (Jul 3) & Stampede (Jul 8) & Stampede (Jul 13) days Route 12 runs about every 30 minutes at peak and every 30 minutes midday.

### What time is the first and last Route 12 bus toward SOUTHWEST LOOP?

On Monday–Friday & Stampede (Jul 6–10) & Stampede (Jul 2) & Stampede (Jul 3) & Stampede (Jul 8) & Stampede (Jul 13) days the first bus toward SOUTHWEST LOOP leaves EB @ Fish Creek-Lacombe Station at 5:28 AM and the last at 11:02 PM.

### Does Route 12 run on Sundays?

Yes — see the Sunday & holidays rows in the frequency tables above.

---

Contains information licensed under the [Open Government Licence – City of Calgary](https://data.calgary.ca/stories/s/u45n-7awa). Independent site, not affiliated with or endorsed by Calgary Transit or The City of Calgary — official info at [calgarytransit.com](https://www.calgarytransit.com). Schedule data from the City of Calgary GTFS feed published Jun 3, 2026, valid Jun 3 – Aug 30, 2026.
