Route Network
Tangier Ibn Batouta Airport connects 43 destinations worldwide, with Barcelona standing out as its busiest route. The longest nonstop flight is to Medina, and the shortest flight is to Málaga.
Route and destination data updated August 26, 2026.
Tangier Ibn Batouta Airport is served by 17 airlines, with Ryanair in the lead at 33% of routes. The top three carriers together cover 65% of routes. eight carriers operate only one route each. A total of 17 airlines operate international routes, compared with three airlines serving domestic routes. Saudi Arabian Airlines is operating the longest nonstop flight, connecting to Medina with a flight time of 6 hrs 15 mins.
Tangier Ibn Batouta Airport provides direct service to 14 countries across two continents. The route network is 16% domestic and 84% international. Spain is the primary international destination.
Delays
- Departures
- 5 min late
- 3 min (+134.3%) vs last 24 hours
- 24h trend
- Arrivals
- 7 min late
- 4 min (-34.7%) vs last 24 hours
- 24h trend
- Cancelled Departures
- 2 flights (24 hour total)
Aug 27
2026
07:00 - 08:00
- Departure
- on-timeon-timeon-time
- Arrival
- 7 min early7 min early7 minutes early
- Cancelled
- 0
Aug 27
2026
06:00 - 07:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 27
2026
05:00 - 06:00
- Departure
- on-timeon-timeon-time
- Arrival
- ———
- Cancelled
- 0
Aug 27
2026
04:00 - 05:00
- Departure
- on-timeon-timeon-time
- Arrival
- ———
- Cancelled
- 0
Aug 27
2026
03:00 - 04:00
- Departure
- ———
- Arrival
- ———
- Cancelled
- 0
Aug 27
2026
02:00 - 03:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 27
2026
01:00 - 02:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 27
2026
00:00 - 01:00
- Departure
- on-timeon-timeon-time
- Arrival
- 2 min early2 min early2 minutes early
- Cancelled
- 0
Aug 26
2026
23:00 - 00:00
- Departure
- 22 min late22 min late22 minutes late
- Arrival
- 21 min late21 min late21 minutes late
- Cancelled
- 0
Aug 26
2026
22:00 - 23:00
- Departure
- 5 min late5 min late5 minutes late
- Arrival
- 3 min late3 min late3 minutes late
- Cancelled
- 0
Aug 26
2026
21:00 - 22:00
- Departure
- on-timeon-timeon-time
- Arrival
- 10 min late10 min late10 minutes late
- Cancelled
- 0
Aug 26
2026
20:00 - 21:00
- Departure
- 15 min late15 min late15 minutes late
- Arrival
- 10 min late10 min late10 minutes late
- Cancelled
- 0
Aug 26
2026
19:00 - 20:00
- Departure
- on-timeon-timeon-time
- Arrival
- 10 min late10 min late10 minutes late
- Cancelled
- 0
Aug 26
2026
18:00 - 19:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 26
2026
17:00 - 18:00
- Departure
- 7 min late7 min late7 minutes late
- Arrival
- 1 min early1 min early1 minutes early
- Cancelled
- 0
Aug 26
2026
15:00 - 16:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 26
2026
14:00 - 15:00
- Departure
- 10 min late10 min late10 minutes late
- Arrival
- 15 min late15 min late15 minutes late
- Cancelled
- 0
Aug 26
2026
13:00 - 14:00
- Departure
- 15 min late15 min late15 minutes late
- Arrival
- 12 min late12 min late12 minutes late
- Cancelled
- 1
Aug 26
2026
12:00 - 13:00
- Departure
- on-timeon-timeon-time
- Arrival
- 5 min late5 min late5 minutes late
- Cancelled
- 1
Aug 26
2026
11:00 - 12:00
- Departure
- on-timeon-timeon-time
- Arrival
- 5 min late5 min late5 minutes late
- Cancelled
- 0
Aug 26
2026
10:00 - 11:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 26
2026
09:00 - 10:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 26
2026
08:00 - 09:00
- Departure
- ———
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
| Time | Departure | Arrival | Cancelled |
|---|---|---|---|
|
07:00 - 08:00 |
on-timeon-timeon-time | 7 min early7 min early7 minutes early | 0 |
|
06:00 - 07:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
05:00 - 06:00 |
on-timeon-timeon-time | ——— | 0 |
|
04:00 - 05:00 |
on-timeon-timeon-time | ——— | 0 |
|
03:00 - 04:00 |
——— | ——— | 0 |
|
02:00 - 03:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
01:00 - 02:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
00:00 - 01:00 |
on-timeon-timeon-time | 2 min early2 min early2 minutes early | 0 |
|
23:00 - 00:00 |
22 min late22 min late22 minutes late | 21 min late21 min late21 minutes late | 0 |
|
22:00 - 23:00 |
5 min late5 min late5 minutes late | 3 min late3 min late3 minutes late | 0 |
|
21:00 - 22:00 |
on-timeon-timeon-time | 10 min late10 min late10 minutes late | 0 |
|
20:00 - 21:00 |
15 min late15 min late15 minutes late | 10 min late10 min late10 minutes late | 0 |
|
19:00 - 20:00 |
on-timeon-timeon-time | 10 min late10 min late10 minutes late | 0 |
|
18:00 - 19:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
17:00 - 18:00 |
7 min late7 min late7 minutes late | 1 min early1 min early1 minutes early | 0 |
|
15:00 - 16:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
14:00 - 15:00 |
10 min late10 min late10 minutes late | 15 min late15 min late15 minutes late | 0 |
|
13:00 - 14:00 |
15 min late15 min late15 minutes late | 12 min late12 min late12 minutes late | 1 |
|
12:00 - 13:00 |
on-timeon-timeon-time | 5 min late5 min late5 minutes late | 1 |
|
11:00 - 12:00 |
on-timeon-timeon-time | 5 min late5 min late5 minutes late | 0 |
|
10:00 - 11:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
09:00 - 10:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
08:00 - 09:00 |
——— | on-timeon-timeon-time | 0 |
- Departures
- 7 min late
- 4 min (+114%) vs last week
- 7d trend
- Arrivals
- 13 min late
- 8 min (+146.6%) vs last week
- 7d trend
- Cancelled Departures
- 2 flights (7 day total)
Aug 26
2026
- Departure
- 5 min late5 min late5 minutes late
- Arrival
- 8 min late8 min late8 minutes late
- Cancelled
- 2
Aug 25
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 14 min late14 min late14 minutes late
- Cancelled
- 0
Aug 24
2026
- Departure
- 36 min late36 min late36 minutes late
- Arrival
- 30 min late30 min late30 minutes late
- Cancelled
- 0
Aug 23
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 13 min late13 min late13 minutes late
- Cancelled
- 0
Aug 22
2026
- Departure
- 11 min late11 min late11 minutes late
- Arrival
- 15 min late15 min late15 minutes late
- Cancelled
- 0
Aug 21
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 0
Aug 20
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 12 min late12 min late12 minutes late
- Cancelled
- 0
| Date | Departure | Arrival | Cancelled |
|---|---|---|---|
|
Aug 26, 2026 |
5 min late5 min late5 minutes late | 8 min late8 min late8 minutes late | 2 |
|
Aug 25, 2026 |
2 min late2 min late2 minutes late | 14 min late14 min late14 minutes late | 0 |
|
Aug 24, 2026 |
36 min late36 min late36 minutes late | 30 min late30 min late30 minutes late | 0 |
|
Aug 23, 2026 |
on-timeon-timeon-time | 13 min late13 min late13 minutes late | 0 |
|
Aug 22, 2026 |
11 min late11 min late11 minutes late | 15 min late15 min late15 minutes late | 0 |
|
Aug 21, 2026 |
1 min late1 min late1 minutes late | 2 min late2 min late2 minutes late | 0 |
|
Aug 20, 2026 |
1 min late1 min late1 minutes late | 12 min late12 min late12 minutes late | 0 |
- Departures
- 3 min late
- 1 min (+17.7%) vs last 30 days
- 30d trend
- Arrivals
- 8 min late
- 1 min (+12.9%) vs last 30 days
- 30d trend
- Cancelled Departures
- 2 flights (30 day total)
Aug 26
2026
- Departure
- 5 min late5 min late5 minutes late
- Arrival
- 8 min late8 min late8 minutes late
- Cancelled
- 2
Aug 25
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 14 min late14 min late14 minutes late
- Cancelled
- 0
Aug 24
2026
- Departure
- 36 min late36 min late36 minutes late
- Arrival
- 30 min late30 min late30 minutes late
- Cancelled
- 0
Aug 23
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 13 min late13 min late13 minutes late
- Cancelled
- 0
Aug 22
2026
- Departure
- 11 min late11 min late11 minutes late
- Arrival
- 15 min late15 min late15 minutes late
- Cancelled
- 0
Aug 21
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 0
Aug 20
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 12 min late12 min late12 minutes late
- Cancelled
- 0
Aug 19
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 1 min early1 min early1 minutes early
- Cancelled
- 0
Aug 18
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Aug 17
2026
- Departure
- 12 min late12 min late12 minutes late
- Arrival
- 12 min late12 min late12 minutes late
- Cancelled
- 0
Aug 16
2026
- Departure
- 5 min late5 min late5 minutes late
- Arrival
- 7 min late7 min late7 minutes late
- Cancelled
- 0
Aug 15
2026
- Departure
- 4 min late4 min late4 minutes late
- Arrival
- 9 min late9 min late9 minutes late
- Cancelled
- 0
Aug 14
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 4 min late4 min late4 minutes late
- Cancelled
- 0
Aug 13
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 5 min late5 min late5 minutes late
- Cancelled
- 0
Aug 12
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 1 min late1 min late1 minutes late
- Cancelled
- 0
Aug 11
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 6 min late6 min late6 minutes late
- Cancelled
- 0
Aug 10
2026
- Departure
- 4 min late4 min late4 minutes late
- Arrival
- 6 min late6 min late6 minutes late
- Cancelled
- 0
Aug 9
2026
- Departure
- 4 min late4 min late4 minutes late
- Arrival
- 9 min late9 min late9 minutes late
- Cancelled
- 0
Aug 8
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 7 min late7 min late7 minutes late
- Cancelled
- 0
Aug 7
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 1 min late1 min late1 minutes late
- Cancelled
- 0
Aug 6
2026
- Departure
- 5 min late5 min late5 minutes late
- Arrival
- 9 min late9 min late9 minutes late
- Cancelled
- 0
Aug 5
2026
- Departure
- 4 min late4 min late4 minutes late
- Arrival
- 4 min late4 min late4 minutes late
- Cancelled
- 0
Aug 4
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 8 min late8 min late8 minutes late
- Cancelled
- 0
Aug 3
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 4 min late4 min late4 minutes late
- Cancelled
- 0
Aug 2
2026
- Departure
- 6 min late6 min late6 minutes late
- Arrival
- 6 min late6 min late6 minutes late
- Cancelled
- 0
Aug 1
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 11 min late11 min late11 minutes late
- Cancelled
- 0
Jul 31
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 23 min late23 min late23 minutes late
- Cancelled
- 0
Jul 30
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 11 min late11 min late11 minutes late
- Cancelled
- 0
Jul 29
2026
- Departure
- 3 min late3 min late3 minutes late
- Arrival
- 3 min late3 min late3 minutes late
- Cancelled
- 0
Jul 28
2026
- Departure
- 3 min late3 min late3 minutes late
- Arrival
- 12 min late12 min late12 minutes late
- Cancelled
- 0
| Date | Departure | Arrival | Cancelled |
|---|---|---|---|
|
Aug 26, 2026 |
5 min late5 min late5 minutes late | 8 min late8 min late8 minutes late | 2 |
|
Aug 25, 2026 |
2 min late2 min late2 minutes late | 14 min late14 min late14 minutes late | 0 |
|
Aug 24, 2026 |
36 min late36 min late36 minutes late | 30 min late30 min late30 minutes late | 0 |
|
Aug 23, 2026 |
on-timeon-timeon-time | 13 min late13 min late13 minutes late | 0 |
|
Aug 22, 2026 |
11 min late11 min late11 minutes late | 15 min late15 min late15 minutes late | 0 |
|
Aug 21, 2026 |
1 min late1 min late1 minutes late | 2 min late2 min late2 minutes late | 0 |
|
Aug 20, 2026 |
1 min late1 min late1 minutes late | 12 min late12 min late12 minutes late | 0 |
|
Aug 19, 2026 |
on-timeon-timeon-time | 1 min early1 min early1 minutes early | 0 |
|
Aug 18, 2026 |
1 min late1 min late1 minutes late | on-timeon-timeon-time | 0 |
|
Aug 17, 2026 |
12 min late12 min late12 minutes late | 12 min late12 min late12 minutes late | 0 |
|
Aug 16, 2026 |
5 min late5 min late5 minutes late | 7 min late7 min late7 minutes late | 0 |
|
Aug 15, 2026 |
4 min late4 min late4 minutes late | 9 min late9 min late9 minutes late | 0 |
|
Aug 14, 2026 |
on-timeon-timeon-time | 4 min late4 min late4 minutes late | 0 |
|
Aug 13, 2026 |
2 min late2 min late2 minutes late | 5 min late5 min late5 minutes late | 0 |
|
Aug 12, 2026 |
1 min late1 min late1 minutes late | 1 min late1 min late1 minutes late | 0 |
|
Aug 11, 2026 |
on-timeon-timeon-time | 6 min late6 min late6 minutes late | 0 |
|
Aug 10, 2026 |
4 min late4 min late4 minutes late | 6 min late6 min late6 minutes late | 0 |
|
Aug 9, 2026 |
4 min late4 min late4 minutes late | 9 min late9 min late9 minutes late | 0 |
|
Aug 8, 2026 |
on-timeon-timeon-time | 7 min late7 min late7 minutes late | 0 |
|
Aug 7, 2026 |
2 min late2 min late2 minutes late | 1 min late1 min late1 minutes late | 0 |
|
Aug 6, 2026 |
5 min late5 min late5 minutes late | 9 min late9 min late9 minutes late | 0 |
|
Aug 5, 2026 |
4 min late4 min late4 minutes late | 4 min late4 min late4 minutes late | 0 |
|
Aug 4, 2026 |
2 min late2 min late2 minutes late | 8 min late8 min late8 minutes late | 0 |
|
Aug 3, 2026 |
1 min late1 min late1 minutes late | 4 min late4 min late4 minutes late | 0 |
|
Aug 2, 2026 |
6 min late6 min late6 minutes late | 6 min late6 min late6 minutes late | 0 |
|
Aug 1, 2026 |
on-timeon-timeon-time | 11 min late11 min late11 minutes late | 0 |
|
Jul 31, 2026 |
on-timeon-timeon-time | 23 min late23 min late23 minutes late | 0 |
|
Jul 30, 2026 |
on-timeon-timeon-time | 11 min late11 min late11 minutes late | 0 |
|
Jul 29, 2026 |
3 min late3 min late3 minutes late | 3 min late3 min late3 minutes late | 0 |
|
Jul 28, 2026 |
3 min late3 min late3 minutes late | 12 min late12 min late12 minutes late | 0 |
Global Rankings
Runways
| Runway | Length | Width | Surface |
|---|---|---|---|
| 11,476 ft 3,498 m 11,476 ft · 3,498 m | 148 ft 45 m 148 ft · 45 m | Asphalt | |
| 11,476 ft 3,498 m 11,476 ft · 3,498 m | 148 ft 45 m 148 ft · 45 m | Asphalt | |
| 6,562 ft 2,000 m 6,562 ft · 2,000 m | 98 ft 30 m 98 ft · 30 m | Closed | |
| 6,562 ft 2,000 m 6,562 ft · 2,000 m | 98 ft 30 m 98 ft · 30 m | Closed |
Runway Length
2 aircraft cannot operate at Tangier Ibn Batouta Airport due to runway length constraints. The airport’s longest runway is 11,476 ft (3,498 m), which is below the typical takeoff or landing distance required by the aircraft listed here.
| Aircraft | Takeoff | Landing |
|---|---|---|
| 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
Tangier Ibn Batouta (IATA: TNG) operates around 41 flights per day to 43 nonstop destinations. Its network includes 7 domestic and 36 international routes, with Ryanair as the leading carrier and Barcelona currently the busiest connection. From TNG, passengers can reach 14 countries across 2 continents, and the longest runway measures 3,498 m (11,476 ft).