Route Network
Calgary Airport connects 108 destinations worldwide, with Vancouver standing out as its busiest route. The longest nonstop flight is to Tokyo, and the shortest flight is to Edmonton.
Route and destination data updated August 18, 2026.
Calgary Airport is served by 35 airlines, with WestJet in the lead at 48% of routes. The top three carriers together cover 60% of routes. 16 carriers operate only one route each. A total of 24 airlines operate international routes, compared with 16 airlines serving domestic routes. WestJet is operating the longest nonstop flight, connecting to Tokyo with a flight time of 10 hrs 35 mins.
Calgary Airport provides direct service to 15 countries across three continents. The route network is 41% domestic and 59% international. United States of America is the primary international destination.
Delays
- Departures
- 2 min early
- min (-29.6%) vs last 24 hours
- 24h trend
- Arrivals
- 5 min early
- 0 min vs last 24 hours
- 24h trend
- Cancelled Departures
- 9 flights (24 hour total)
Aug 20
2026
09:00 - 10:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 20
2026
08:00 - 09:00
- Departure
- 16 min late16 min late16 minutes late
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 20
2026
07:00 - 08:00
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 7 min late7 min late7 minutes late
- Cancelled
- 0
Aug 20
2026
06:00 - 07:00
- Departure
- 5 min early5 min early5 minutes early
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 20
2026
05:00 - 06:00
- Departure
- 7 min early7 min early7 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 1
Aug 20
2026
04:00 - 05:00
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 2
Aug 20
2026
02:00 - 03:00
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 8 min early8 min early8 minutes early
- Cancelled
- 0
Aug 20
2026
01:00 - 02:00
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 20
2026
00:00 - 01:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 19
2026
23:00 - 00:00
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 7 min early7 min early7 minutes early
- Cancelled
- 0
Aug 19
2026
22:00 - 23:00
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 8 min early8 min early8 minutes early
- Cancelled
- 0
Aug 19
2026
21:00 - 22:00
- Departure
- on-timeon-timeon-time
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 0
Aug 19
2026
20:00 - 21:00
- Departure
- on-timeon-timeon-time
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 1
Aug 19
2026
19:00 - 20:00
- Departure
- on-timeon-timeon-time
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 1
Aug 19
2026
18:00 - 19:00
- Departure
- on-timeon-timeon-time
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 0
Aug 19
2026
17:00 - 18:00
- Departure
- on-timeon-timeon-time
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 1
Aug 19
2026
16:00 - 17:00
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 1
Aug 19
2026
15:00 - 16:00
- Departure
- 4 min early4 min early4 minutes early
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 0
Aug 19
2026
14:00 - 15:00
- Departure
- 6 min early6 min early6 minutes early
- Arrival
- 8 min early8 min early8 minutes early
- Cancelled
- 1
Aug 19
2026
13:00 - 14:00
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 12 min early12 min early12 minutes early
- Cancelled
- 1
Aug 19
2026
12:00 - 13:00
- Departure
- 7 min early7 min early7 minutes early
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 19
2026
11:00 - 12:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
| Time | Departure | Arrival | Cancelled |
|---|---|---|---|
|
09:00 - 10:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
08:00 - 09:00 |
16 min late16 min late16 minutes late | on-timeon-timeon-time | 0 |
|
07:00 - 08:00 |
2 min late2 min late2 minutes late | 7 min late7 min late7 minutes late | 0 |
|
06:00 - 07:00 |
5 min early5 min early5 minutes early | on-timeon-timeon-time | 0 |
|
05:00 - 06:00 |
7 min early7 min early7 minutes early | 6 min early6 min early6 minutes early | 1 |
|
04:00 - 05:00 |
2 min early2 min early2 minutes early | 6 min early6 min early6 minutes early | 2 |
|
02:00 - 03:00 |
2 min early2 min early2 minutes early | 8 min early8 min early8 minutes early | 0 |
|
01:00 - 02:00 |
2 min early2 min early2 minutes early | on-timeon-timeon-time | 0 |
|
00:00 - 01:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
23:00 - 00:00 |
2 min early2 min early2 minutes early | 7 min early7 min early7 minutes early | 0 |
|
22:00 - 23:00 |
2 min early2 min early2 minutes early | 8 min early8 min early8 minutes early | 0 |
|
21:00 - 22:00 |
on-timeon-timeon-time | 4 min early4 min early4 minutes early | 0 |
|
20:00 - 21:00 |
on-timeon-timeon-time | 4 min early4 min early4 minutes early | 1 |
|
19:00 - 20:00 |
on-timeon-timeon-time | 6 min early6 min early6 minutes early | 1 |
|
18:00 - 19:00 |
on-timeon-timeon-time | 5 min early5 min early5 minutes early | 0 |
|
17:00 - 18:00 |
on-timeon-timeon-time | 6 min early6 min early6 minutes early | 1 |
|
16:00 - 17:00 |
2 min early2 min early2 minutes early | 6 min early6 min early6 minutes early | 1 |
|
15:00 - 16:00 |
4 min early4 min early4 minutes early | 5 min early5 min early5 minutes early | 0 |
|
14:00 - 15:00 |
6 min early6 min early6 minutes early | 8 min early8 min early8 minutes early | 1 |
|
13:00 - 14:00 |
2 min early2 min early2 minutes early | 12 min early12 min early12 minutes early | 1 |
|
12:00 - 13:00 |
7 min early7 min early7 minutes early | on-timeon-timeon-time | 0 |
|
11:00 - 12:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
- Departures
- 2 min late
- 2 min (+2,264.8%) vs last week
- 7d trend
- Arrivals
- 4 min late
- 4 min (+1,430.4%) vs last week
- 7d trend
- Cancelled Departures
- 66 flights (7 day total)
Aug 19
2026
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 6
Aug 18
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 1 min early1 min early1 minutes early
- Cancelled
- 6
Aug 17
2026
- Departure
- 8 min late8 min late8 minutes late
- Arrival
- 24 min late24 min late24 minutes late
- Cancelled
- 14
Aug 16
2026
- Departure
- 3 min late3 min late3 minutes late
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 7
Aug 15
2026
- Departure
- 3 min late3 min late3 minutes late
- Arrival
- 3 min late3 min late3 minutes late
- Cancelled
- 11
Aug 14
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 4 min late4 min late4 minutes late
- Cancelled
- 16
Aug 13
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 6
| Date | Departure | Arrival | Cancelled |
|---|---|---|---|
|
Aug 19, 2026 |
2 min early2 min early2 minutes early | 5 min early5 min early5 minutes early | 6 |
|
Aug 18, 2026 |
on-timeon-timeon-time | 1 min early1 min early1 minutes early | 6 |
|
Aug 17, 2026 |
8 min late8 min late8 minutes late | 24 min late24 min late24 minutes late | 14 |
|
Aug 16, 2026 |
3 min late3 min late3 minutes late | 2 min late2 min late2 minutes late | 7 |
|
Aug 15, 2026 |
3 min late3 min late3 minutes late | 3 min late3 min late3 minutes late | 11 |
|
Aug 14, 2026 |
1 min late1 min late1 minutes late | 4 min late4 min late4 minutes late | 16 |
|
Aug 13, 2026 |
1 min late1 min late1 minutes late | 2 min late2 min late2 minutes late | 6 |
- Departures
- 1 min late
- 1 min (+274.3%) vs last 30 days
- 30d trend
- Arrivals
- 1 min late
- 2 min (+167.9%) vs last 30 days
- 30d trend
- Cancelled Departures
- 735 flights (30 day total)
Aug 19
2026
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 6
Aug 18
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 1 min early1 min early1 minutes early
- Cancelled
- 6
Aug 17
2026
- Departure
- 8 min late8 min late8 minutes late
- Arrival
- 24 min late24 min late24 minutes late
- Cancelled
- 14
Aug 16
2026
- Departure
- 3 min late3 min late3 minutes late
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 7
Aug 15
2026
- Departure
- 3 min late3 min late3 minutes late
- Arrival
- 3 min late3 min late3 minutes late
- Cancelled
- 11
Aug 14
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 4 min late4 min late4 minutes late
- Cancelled
- 16
Aug 13
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 6
Aug 12
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 1 min late1 min late1 minutes late
- Cancelled
- 8
Aug 11
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 1 min late1 min late1 minutes late
- Cancelled
- 26
Aug 10
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 2 min early2 min early2 minutes early
- Cancelled
- 13
Aug 9
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 6 min late6 min late6 minutes late
- Cancelled
- 28
Aug 8
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- on-timeon-timeon-time
- Cancelled
- 3
Aug 7
2026
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 2 min early2 min early2 minutes early
- Cancelled
- 4
Aug 6
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 3 min early3 min early3 minutes early
- Cancelled
- 2
Aug 5
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 1 min early1 min early1 minutes early
- Cancelled
- 0
Aug 4
2026
- Departure
- 3 min late3 min late3 minutes late
- Arrival
- 2 min early2 min early2 minutes early
- Cancelled
- 27
Aug 3
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 1 min late1 min late1 minutes late
- Cancelled
- 236
Aug 2
2026
- Departure
- 5 min late5 min late5 minutes late
- Arrival
- 5 min late5 min late5 minutes late
- Cancelled
- 262
Aug 1
2026
- Departure
- 5 min late5 min late5 minutes late
- Arrival
- 7 min late7 min late7 minutes late
- Cancelled
- 21
Jul 31
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 1 min late1 min late1 minutes late
- Cancelled
- 0
Jul 30
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 3 min early3 min early3 minutes early
- Cancelled
- 3
Jul 29
2026
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- on-timeon-timeon-time
- Cancelled
- 1
Jul 28
2026
- Departure
- 3 min late3 min late3 minutes late
- Arrival
- 1 min late1 min late1 minutes late
- Cancelled
- 4
Jul 27
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 2 min early2 min early2 minutes early
- Cancelled
- 3
Jul 26
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 2 min early2 min early2 minutes early
- Cancelled
- 0
Jul 25
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 3 min early3 min early3 minutes early
- Cancelled
- 0
Jul 24
2026
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 10
Jul 23
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 1 min early1 min early1 minutes early
- Cancelled
- 4
Jul 22
2026
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 2 min early2 min early2 minutes early
- Cancelled
- 4
Jul 21
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 1 min early1 min early1 minutes early
- Cancelled
- 10
| Date | Departure | Arrival | Cancelled |
|---|---|---|---|
|
Aug 19, 2026 |
2 min early2 min early2 minutes early | 5 min early5 min early5 minutes early | 6 |
|
Aug 18, 2026 |
on-timeon-timeon-time | 1 min early1 min early1 minutes early | 6 |
|
Aug 17, 2026 |
8 min late8 min late8 minutes late | 24 min late24 min late24 minutes late | 14 |
|
Aug 16, 2026 |
3 min late3 min late3 minutes late | 2 min late2 min late2 minutes late | 7 |
|
Aug 15, 2026 |
3 min late3 min late3 minutes late | 3 min late3 min late3 minutes late | 11 |
|
Aug 14, 2026 |
1 min late1 min late1 minutes late | 4 min late4 min late4 minutes late | 16 |
|
Aug 13, 2026 |
1 min late1 min late1 minutes late | 2 min late2 min late2 minutes late | 6 |
|
Aug 12, 2026 |
1 min late1 min late1 minutes late | 1 min late1 min late1 minutes late | 8 |
|
Aug 11, 2026 |
1 min late1 min late1 minutes late | 1 min late1 min late1 minutes late | 26 |
|
Aug 10, 2026 |
1 min late1 min late1 minutes late | 2 min early2 min early2 minutes early | 13 |
|
Aug 9, 2026 |
1 min late1 min late1 minutes late | 6 min late6 min late6 minutes late | 28 |
|
Aug 8, 2026 |
1 min early1 min early1 minutes early | on-timeon-timeon-time | 3 |
|
Aug 7, 2026 |
2 min early2 min early2 minutes early | 2 min early2 min early2 minutes early | 4 |
|
Aug 6, 2026 |
1 min early1 min early1 minutes early | 3 min early3 min early3 minutes early | 2 |
|
Aug 5, 2026 |
1 min late1 min late1 minutes late | 1 min early1 min early1 minutes early | 0 |
|
Aug 4, 2026 |
3 min late3 min late3 minutes late | 2 min early2 min early2 minutes early | 27 |
|
Aug 3, 2026 |
2 min late2 min late2 minutes late | 1 min late1 min late1 minutes late | 236 |
|
Aug 2, 2026 |
5 min late5 min late5 minutes late | 5 min late5 min late5 minutes late | 262 |
|
Aug 1, 2026 |
5 min late5 min late5 minutes late | 7 min late7 min late7 minutes late | 21 |
|
Jul 31, 2026 |
on-timeon-timeon-time | 1 min late1 min late1 minutes late | 0 |
|
Jul 30, 2026 |
on-timeon-timeon-time | 3 min early3 min early3 minutes early | 3 |
|
Jul 29, 2026 |
2 min early2 min early2 minutes early | on-timeon-timeon-time | 1 |
|
Jul 28, 2026 |
3 min late3 min late3 minutes late | 1 min late1 min late1 minutes late | 4 |
|
Jul 27, 2026 |
on-timeon-timeon-time | 2 min early2 min early2 minutes early | 3 |
|
Jul 26, 2026 |
on-timeon-timeon-time | 2 min early2 min early2 minutes early | 0 |
|
Jul 25, 2026 |
on-timeon-timeon-time | 3 min early3 min early3 minutes early | 0 |
|
Jul 24, 2026 |
on-timeon-timeon-time | on-timeon-timeon-time | 10 |
|
Jul 23, 2026 |
1 min early1 min early1 minutes early | 1 min early1 min early1 minutes early | 4 |
|
Jul 22, 2026 |
2 min early2 min early2 minutes early | 2 min early2 min early2 minutes early | 4 |
|
Jul 21, 2026 |
1 min early1 min early1 minutes early | 1 min early1 min early1 minutes early | 10 |
Global Rankings
Most destinations
Runways
| Runway | Length | Width | Surface |
|---|---|---|---|
| 14,009 ft 4,270 m 14,009 ft · 4,270 m | 200 ft 61 m 200 ft · 61 m | Concrete | |
| 14,009 ft 4,270 m 14,009 ft · 4,270 m | 200 ft 61 m 200 ft · 61 m | Concrete | |
| 12,680 ft 3,865 m 12,680 ft · 3,865 m | 200 ft 61 m 200 ft · 61 m | Concrete | |
| 12,680 ft 3,865 m 12,680 ft · 3,865 m | 200 ft 61 m 200 ft · 61 m | Concrete | |
| 7,989 ft 2,435 m 7,989 ft · 2,435 m | 200 ft 61 m 200 ft · 61 m | Concrete | |
| 7,989 ft 2,435 m 7,989 ft · 2,435 m | 200 ft 61 m 200 ft · 61 m | Concrete | |
| 6,188 ft 1,886 m 6,188 ft · 1,886 m | 150 ft 46 m 150 ft · 46 m | Concrete | |
| 6,188 ft 1,886 m 6,188 ft · 1,886 m | 150 ft 46 m 150 ft · 46 m | Concrete |
Runway Length
Runways at Calgary Airport are long enough for all aircraft with known takeoff and landing distances.
Operational Context
Calgary (IATA: YYC) operates around 317 flights per day to 108 nonstop destinations. Its network includes 44 domestic and 64 international routes, with WestJet as the leading carrier and Vancouver currently the busiest connection. From YYC, passengers can reach 15 countries across 3 continents, and the longest runway measures 4,270 m (14,009 ft).