Route Network
Chiang Mai Airport connects 29 destinations worldwide, with Bangkok standing out as its busiest route. The longest nonstop flight is to Osaka, and the shortest flight is to Luang Prabang.
Route and destination data updated July 16, 2026.
Chiang Mai Airport is served by 25 airlines, with Thai AirAsia in the lead at 23% of routes. The top three carriers together cover 36% of routes. 17 carriers operate only one route each. A total of 21 airlines operate international routes, compared with six airlines serving domestic routes. Thai Vietjet Air is operating the longest nonstop flight, connecting to Osaka with a flight time of 5 hrs 45 mins.
Chiang Mai Airport provides direct service to 11 countries across one continent. The route network is 38% domestic and 62% international. China is the primary international destination.
Delays
- Departures
- 1 min early
- min (-21.5%) vs last 24 hours
- 24h trend
- Arrivals
- 5 min early
- 1 min (+17.2%) vs last 24 hours
- 24h trend
- Cancelled Departures
- 34 flights (24 hour total)
Jul 20
2026
15:00 - 16:00
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 9 min early9 min early9 minutes early
- Cancelled
- 1
Jul 20
2026
14:00 - 15:00
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 0
Jul 20
2026
13:00 - 14:00
- Departure
- 7 min late7 min late7 minutes late
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 1
Jul 20
2026
12:00 - 13:00
- Departure
- 5 min early5 min early5 minutes early
- Arrival
- 3 min early3 min early3 minutes early
- Cancelled
- 3
Jul 20
2026
10:00 - 11:00
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 0
Jul 20
2026
09:00 - 10:00
- Departure
- on-timeon-timeon-time
- Arrival
- 2 min early2 min early2 minutes early
- Cancelled
- 1
Jul 20
2026
08:00 - 09:00
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 1 min early1 min early1 minutes early
- Cancelled
- 2
Jul 20
2026
07:00 - 08:00
- Departure
- 3 min late3 min late3 minutes late
- Arrival
- on-timeon-timeon-time
- Cancelled
- 4
Jul 20
2026
06:00 - 07:00
- Departure
- on-timeon-timeon-time
- Arrival
- 3 min early3 min early3 minutes early
- Cancelled
- 2
Jul 20
2026
05:00 - 06:00
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 0
Jul 20
2026
04:00 - 05:00
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 8 min early8 min early8 minutes early
- Cancelled
- 1
Jul 20
2026
03:00 - 04:00
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 10 min early10 min early10 minutes early
- Cancelled
- 4
Jul 20
2026
02:00 - 03:00
- Departure
- on-timeon-timeon-time
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 5
Jul 20
2026
01:00 - 02:00
- Departure
- 7 min early7 min early7 minutes early
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 4
Jul 20
2026
00:00 - 01:00
- Departure
- 12 min early12 min early12 minutes early
- Arrival
- 8 min early8 min early8 minutes early
- Cancelled
- 2
Jul 19
2026
23:00 - 00:00
- Departure
- on-timeon-timeon-time
- Arrival
- ———
- Cancelled
- 1
Jul 19
2026
22:00 - 23:00
- Departure
- ———
- Arrival
- ———
- Cancelled
- 0
Jul 19
2026
19:00 - 20:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Jul 19
2026
18:00 - 19:00
- Departure
- 5 min early5 min early5 minutes early
- Arrival
- on-timeon-timeon-time
- Cancelled
- 1
Jul 19
2026
17:00 - 18:00
- Departure
- 9 min early9 min early9 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 1
Jul 19
2026
16:00 - 17:00
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 8 min early8 min early8 minutes early
- Cancelled
- 1
| Time | Departure | Arrival | Cancelled |
|---|---|---|---|
|
15:00 - 16:00 |
1 min early1 min early1 minutes early | 9 min early9 min early9 minutes early | 1 |
|
14:00 - 15:00 |
1 min late1 min late1 minutes late | 5 min early5 min early5 minutes early | 0 |
|
13:00 - 14:00 |
7 min late7 min late7 minutes late | 6 min early6 min early6 minutes early | 1 |
|
12:00 - 13:00 |
5 min early5 min early5 minutes early | 3 min early3 min early3 minutes early | 3 |
|
10:00 - 11:00 |
2 min late2 min late2 minutes late | 5 min early5 min early5 minutes early | 0 |
|
09:00 - 10:00 |
on-timeon-timeon-time | 2 min early2 min early2 minutes early | 1 |
|
08:00 - 09:00 |
2 min late2 min late2 minutes late | 1 min early1 min early1 minutes early | 2 |
|
07:00 - 08:00 |
3 min late3 min late3 minutes late | on-timeon-timeon-time | 4 |
|
06:00 - 07:00 |
on-timeon-timeon-time | 3 min early3 min early3 minutes early | 2 |
|
05:00 - 06:00 |
2 min early2 min early2 minutes early | 6 min early6 min early6 minutes early | 0 |
|
04:00 - 05:00 |
2 min early2 min early2 minutes early | 8 min early8 min early8 minutes early | 1 |
|
03:00 - 04:00 |
1 min early1 min early1 minutes early | 10 min early10 min early10 minutes early | 4 |
|
02:00 - 03:00 |
on-timeon-timeon-time | 4 min early4 min early4 minutes early | 5 |
|
01:00 - 02:00 |
7 min early7 min early7 minutes early | 5 min early5 min early5 minutes early | 4 |
|
00:00 - 01:00 |
12 min early12 min early12 minutes early | 8 min early8 min early8 minutes early | 2 |
|
23:00 - 00:00 |
on-timeon-timeon-time | ——— | 1 |
|
22:00 - 23:00 |
——— | ——— | 0 |
|
19:00 - 20:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
18:00 - 19:00 |
5 min early5 min early5 minutes early | on-timeon-timeon-time | 1 |
|
17:00 - 18:00 |
9 min early9 min early9 minutes early | 6 min early6 min early6 minutes early | 1 |
|
16:00 - 17:00 |
1 min early1 min early1 minutes early | 8 min early8 min early8 minutes early | 1 |
- Departures
- 1 min early
- 1 min (+30.9%) vs last week
- 7d trend
- Arrivals
- 6 min early
- min (-3.4%) vs last week
- 7d trend
- Cancelled Departures
- 211 flights (7 day total)
Jul 19
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 30
Jul 18
2026
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 8 min early8 min early8 minutes early
- Cancelled
- 38
Jul 17
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 31
Jul 16
2026
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 31
Jul 15
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 28
Jul 14
2026
- Departure
- 3 min early3 min early3 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 32
Jul 13
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 21
| Date | Departure | Arrival | Cancelled |
|---|---|---|---|
|
Jul 19, 2026 |
1 min early1 min early1 minutes early | 5 min early5 min early5 minutes early | 30 |
|
Jul 18, 2026 |
2 min early2 min early2 minutes early | 8 min early8 min early8 minutes early | 38 |
|
Jul 17, 2026 |
1 min early1 min early1 minutes early | 5 min early5 min early5 minutes early | 31 |
|
Jul 16, 2026 |
2 min early2 min early2 minutes early | 5 min early5 min early5 minutes early | 31 |
|
Jul 15, 2026 |
1 min late1 min late1 minutes late | 6 min early6 min early6 minutes early | 28 |
|
Jul 14, 2026 |
3 min early3 min early3 minutes early | 6 min early6 min early6 minutes early | 32 |
|
Jul 13, 2026 |
1 min early1 min early1 minutes early | 6 min early6 min early6 minutes early | 21 |
- Departures
- 1 min early
- 1 min (+43.3%) vs last 30 days
- 30d trend
- Arrivals
- 6 min early
- min (+5.7%) vs last 30 days
- 30d trend
- Cancelled Departures
- 876 flights (30 day total)
Jul 19
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 30
Jul 18
2026
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 8 min early8 min early8 minutes early
- Cancelled
- 38
Jul 17
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 31
Jul 16
2026
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 31
Jul 15
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 28
Jul 14
2026
- Departure
- 3 min early3 min early3 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 32
Jul 13
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 21
Jul 12
2026
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 7 min early7 min early7 minutes early
- Cancelled
- 24
Jul 11
2026
- Departure
- 4 min early4 min early4 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 44
Jul 10
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 26
Jul 9
2026
- Departure
- 3 min early3 min early3 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 27
Jul 8
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 13
Jul 4
2026
- Departure
- 6 min early6 min early6 minutes early
- Arrival
- 12 min early12 min early12 minutes early
- Cancelled
- 2
Jul 3
2026
- Departure
- 1 min early1 min early1 minutes early
- Arrival
- 6 min early6 min early6 minutes early
- Cancelled
- 25
Jul 2
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- on-timeon-timeon-time
- Cancelled
- 32
Jul 1
2026
- Departure
- 3 min early3 min early3 minutes early
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 25
Jun 30
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 1 min early1 min early1 minutes early
- Cancelled
- 42
Jun 29
2026
- Departure
- 4 min early4 min early4 minutes early
- Arrival
- 8 min early8 min early8 minutes early
- Cancelled
- 32
Jun 28
2026
- Departure
- 4 min early4 min early4 minutes early
- Arrival
- 7 min early7 min early7 minutes early
- Cancelled
- 34
Jun 27
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 43
Jun 26
2026
- Departure
- 3 min early3 min early3 minutes early
- Arrival
- 9 min early9 min early9 minutes early
- Cancelled
- 34
Jun 25
2026
- Departure
- 7 min late7 min late7 minutes late
- Arrival
- 1 min late1 min late1 minutes late
- Cancelled
- 53
Jun 24
2026
- Departure
- 3 min early3 min early3 minutes early
- Arrival
- 9 min early9 min early9 minutes early
- Cancelled
- 45
Jun 23
2026
- Departure
- 3 min early3 min early3 minutes early
- Arrival
- 7 min early7 min early7 minutes early
- Cancelled
- 52
Jun 22
2026
- Departure
- 2 min early2 min early2 minutes early
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 29
Jun 21
2026
- Departure
- 3 min early3 min early3 minutes early
- Arrival
- 10 min early10 min early10 minutes early
- Cancelled
- 37
Jun 20
2026
- Departure
- 4 min early4 min early4 minutes early
- Arrival
- 8 min early8 min early8 minutes early
- Cancelled
- 46
| Date | Departure | Arrival | Cancelled |
|---|---|---|---|
|
Jul 19, 2026 |
1 min early1 min early1 minutes early | 5 min early5 min early5 minutes early | 30 |
|
Jul 18, 2026 |
2 min early2 min early2 minutes early | 8 min early8 min early8 minutes early | 38 |
|
Jul 17, 2026 |
1 min early1 min early1 minutes early | 5 min early5 min early5 minutes early | 31 |
|
Jul 16, 2026 |
2 min early2 min early2 minutes early | 5 min early5 min early5 minutes early | 31 |
|
Jul 15, 2026 |
1 min late1 min late1 minutes late | 6 min early6 min early6 minutes early | 28 |
|
Jul 14, 2026 |
3 min early3 min early3 minutes early | 6 min early6 min early6 minutes early | 32 |
|
Jul 13, 2026 |
1 min early1 min early1 minutes early | 6 min early6 min early6 minutes early | 21 |
|
Jul 12, 2026 |
2 min early2 min early2 minutes early | 7 min early7 min early7 minutes early | 24 |
|
Jul 11, 2026 |
4 min early4 min early4 minutes early | 6 min early6 min early6 minutes early | 44 |
|
Jul 10, 2026 |
1 min early1 min early1 minutes early | 4 min early4 min early4 minutes early | 26 |
|
Jul 9, 2026 |
3 min early3 min early3 minutes early | 6 min early6 min early6 minutes early | 27 |
|
Jul 8, 2026 |
1 min late1 min late1 minutes late | 4 min early4 min early4 minutes early | 13 |
|
Jul 4, 2026 |
6 min early6 min early6 minutes early | 12 min early12 min early12 minutes early | 2 |
|
Jul 3, 2026 |
1 min early1 min early1 minutes early | 6 min early6 min early6 minutes early | 25 |
|
Jul 2, 2026 |
2 min late2 min late2 minutes late | on-timeon-timeon-time | 32 |
|
Jul 1, 2026 |
3 min early3 min early3 minutes early | 4 min early4 min early4 minutes early | 25 |
|
Jun 30, 2026 |
2 min late2 min late2 minutes late | 1 min early1 min early1 minutes early | 42 |
|
Jun 29, 2026 |
4 min early4 min early4 minutes early | 8 min early8 min early8 minutes early | 32 |
|
Jun 28, 2026 |
4 min early4 min early4 minutes early | 7 min early7 min early7 minutes early | 34 |
|
Jun 27, 2026 |
2 min late2 min late2 minutes late | 4 min early4 min early4 minutes early | 43 |
|
Jun 26, 2026 |
3 min early3 min early3 minutes early | 9 min early9 min early9 minutes early | 34 |
|
Jun 25, 2026 |
7 min late7 min late7 minutes late | 1 min late1 min late1 minutes late | 53 |
|
Jun 24, 2026 |
3 min early3 min early3 minutes early | 9 min early9 min early9 minutes early | 45 |
|
Jun 23, 2026 |
3 min early3 min early3 minutes early | 7 min early7 min early7 minutes early | 52 |
|
Jun 22, 2026 |
2 min early2 min early2 minutes early | 4 min early4 min early4 minutes early | 29 |
|
Jun 21, 2026 |
3 min early3 min early3 minutes early | 10 min early10 min early10 minutes early | 37 |
|
Jun 20, 2026 |
4 min early4 min early4 minutes early | 8 min early8 min early8 minutes early | 46 |
Global Rankings
Runways
| Runway | Length | Width | Surface |
|---|---|---|---|
| 10,243 ft 3,122 m 10,243 ft · 3,122 m | 148 ft 45 m 148 ft · 45 m | Asphalt | |
| 10,243 ft 3,122 m 10,243 ft · 3,122 m | 148 ft 45 m 148 ft · 45 m | Asphalt |
Runway Length
18 aircraft cannot operate at Chiang Mai Airport due to runway length constraints. The airport’s longest runway is 10,243 ft (3,122 m), which is below the typical takeoff or landing distance required by the aircraft listed here.
| Aircraft | Takeoff | Landing |
|---|---|---|
| Airbus A340 Private Jet | 10,256 ft 3,126 m 10,256 ft · 3,126 m | 8,999 ft 2,743 m 8,999 ft · 2,743 m |
| McDonnell Douglas MD-11 | 10,299 ft 3,139 m 10,299 ft · 3,139 m | 6,949 ft 2,118 m 6,949 ft · 2,118 m |
| Airbus A340-600 | 10,302 ft 3,140 m 10,302 ft · 3,140 m | 6,562 ft 2,000 m 6,562 ft · 2,000 m |
| Boeing BBJ 787-9 | 10,397 ft 3,169 m 10,397 ft · 3,169 m | 5,699 ft 1,737 m 5,699 ft · 1,737 m |
| VC-25A Air Force One | 10,466 ft 3,190 m 10,466 ft · 3,190 m | 7,999 ft 2,438 m 7,999 ft · 2,438 m |
| Boeing 747-8 | 10,466 ft 3,190 m 10,466 ft · 3,190 m | 8,793 ft 2,680 m 8,793 ft · 2,680 m |
| Airbus A340-500 | 10,499 ft 3,200 m 10,499 ft · 3,200 m | 6,299 ft 1,920 m 6,299 ft · 1,920 m |
| Boeing 747-200 | 10,499 ft 3,200 m 10,499 ft · 3,200 m | 6,234 ft 1,900 m 6,234 ft · 1,900 m |
| Boeing 777-300 | 10,597 ft 3,230 m 10,597 ft · 3,230 m | 5,906 ft 1,800 m 5,906 ft · 1,800 m |
| Boeing 747-100 | 10,650 ft 3,246 m 10,650 ft · 3,246 m | 6,168 ft 1,880 m 6,168 ft · 1,880 m |
| Boeing 747-8 VIP / BBJ | 10,801 ft 3,292 m 10,801 ft · 3,292 m | 7,001 ft 2,134 m 7,001 ft · 2,134 m |
| Boeing 747-8 Freighter | 10,801 ft 3,292 m 10,801 ft · 3,292 m | 7,001 ft 2,134 m 7,001 ft · 2,134 m |
| Boeing 747-300 | 10,827 ft 3,300 m 10,827 ft · 3,300 m | 6,919 ft 2,109 m 6,919 ft · 2,109 m |
| Boeing 747-400F | 10,827 ft 3,300 m 10,827 ft · 3,300 m | 6,890 ft 2,100 m 6,890 ft · 2,100 m |
| Boeing 747-400ER | 10,892 ft 3,320 m 10,892 ft · 3,320 m | 7,136 ft 2,175 m 7,136 ft · 2,175 m |
| Aérospatiale-BAC Concorde | 11,250 ft 3,429 m 11,250 ft · 3,429 m | 7,218 ft 2,200 m 7,218 ft · 2,200 m |
| Antonov An-225 Mriya | 11,483 ft 3,500 m 11,483 ft · 3,500 m | 10,827 ft 3,300 m 10,827 ft · 3,300 m |
| McDonnell Douglas DC-8-71 | 11,499 ft 3,505 m 11,499 ft · 3,505 m | 5,909 ft 1,801 m 5,909 ft · 1,801 m |
Operational Context
Chiang Mai (IATA: CNX) operates around 84 flights per day to 29 nonstop destinations. Its network includes 11 domestic and 18 international routes, with Thai AirAsia as the leading carrier and Bangkok currently the busiest connection. From CNX, passengers can reach 11 countries across 1 continent, and the longest runway measures 3,122 m (10,243 ft).