Tangier Ibn Batouta (IATA: TNG) operates around 30 flights per day to 41 nonstop destinations. Its network includes 7 domestic and 34 international routes, with Ryanair as the leading carrier and Barcelona currently the busiest connection. From TNG, passengers can reach 12 countries across 2 continents, and the longest runway measures 3,498 m (11,476 ft).
Route Network
Tangier Ibn Batouta Airport connects 41 destinations worldwide, with Barcelona standing out as its busiest route. The longest nonstop flight is to Istanbul, and the shortest flight is to Málaga.
Route and destination data updated October 3, 2026.
Tangier Ibn Batouta Airport is served by 14 airlines, with Ryanair in the lead at 38% of routes. The top three carriers together cover 72% of routes. seven carriers operate only one route each. A total of 14 airlines operate international routes, compared with three airlines serving domestic routes. Air Arabia Maroc is operating the longest nonstop flight, connecting to Istanbul with a flight time of 4 hrs 40 mins.
Tangier Ibn Batouta Airport provides direct service to 12 countries across two continents. The route network is 17% domestic and 83% international. Spain is the primary international destination.
Delays
- Departures
- 7 min late
- 7 min vs last 24 hours
- 24h trend
- Arrivals
- 2 min late
- 6 min (+170%) vs last 24 hours
- 24h trend
- Cancelled Departures
- 0 flights (24 hour total)
Oct 11
2026
23:00 - 00:00
- Departure
- ———
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
22:00 - 23:00
- Departure
- 50 min late50 min late50 minutes late
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
21:00 - 22:00
- Departure
- 50 min late50 min late50 minutes late
- Arrival
- 28 min late28 min late28 minutes late
- Cancelled
- 0
Oct 11
2026
20:00 - 21:00
- Departure
- ———
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
19:00 - 20:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
18:00 - 19:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
16:00 - 17:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
14:00 - 15:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
13:00 - 14:00
- Departure
- ———
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
12:00 - 13:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
10:00 - 11:00
- Departure
- ———
- Arrival
- ———
- Cancelled
- 0
Oct 11
2026
09:00 - 10:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
08:00 - 09:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
07:00 - 08:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
06:00 - 07:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
05:00 - 06:00
- Departure
- ———
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
04:00 - 05:00
- Departure
- ———
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 11
2026
03:00 - 04:00
- Departure
- ———
- Arrival
- ———
- Cancelled
- 0
Oct 11
2026
02:00 - 03:00
- Departure
- ———
- Arrival
- ———
- Cancelled
- 0
Oct 11
2026
01:00 - 02:00
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
| Time | Departure | Arrival | Cancelled |
|---|---|---|---|
|
23:00 - 00:00 |
——— | on-timeon-timeon-time | 0 |
|
22:00 - 23:00 |
50 min late50 min late50 minutes late | on-timeon-timeon-time | 0 |
|
21:00 - 22:00 |
50 min late50 min late50 minutes late | 28 min late28 min late28 minutes late | 0 |
|
20:00 - 21:00 |
——— | on-timeon-timeon-time | 0 |
|
19:00 - 20:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
18:00 - 19:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
16:00 - 17:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
14:00 - 15:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
13:00 - 14:00 |
——— | on-timeon-timeon-time | 0 |
|
12:00 - 13:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
10:00 - 11:00 |
——— | ——— | 0 |
|
09:00 - 10:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
08:00 - 09:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
07:00 - 08:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 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 |
——— | ——— | 0 |
|
01:00 - 02:00 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
- Departures
- 1 min late
- min (+7.1%) vs last week
- 7d trend
- Arrivals
- 3 min late
- 3 min (+646.8%) vs last week
- 7d trend
- Cancelled Departures
- 1 flights (7 day total)
Oct 11
2026
- Departure
- 7 min late7 min late7 minutes late
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 0
Oct 10
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 3 min early3 min early3 minutes early
- Cancelled
- 1
Oct 9
2026
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 8
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 0
Oct 7
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 13 min late13 min late13 minutes late
- Cancelled
- 0
Oct 6
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 10 min late10 min late10 minutes late
- Cancelled
- 0
Oct 5
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 0
| Date | Departure | Arrival | Cancelled |
|---|---|---|---|
|
Oct 11, 2026 |
7 min late7 min late7 minutes late | 2 min late2 min late2 minutes late | 0 |
|
Oct 10, 2026 |
on-timeon-timeon-time | 3 min early3 min early3 minutes early | 1 |
|
Oct 9, 2026 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
Oct 8, 2026 |
on-timeon-timeon-time | 5 min early5 min early5 minutes early | 0 |
|
Oct 7, 2026 |
on-timeon-timeon-time | 13 min late13 min late13 minutes late | 0 |
|
Oct 6, 2026 |
2 min late2 min late2 minutes late | 10 min late10 min late10 minutes late | 0 |
|
Oct 5, 2026 |
on-timeon-timeon-time | 2 min late2 min late2 minutes late | 0 |
- Departures
- 1 min late
- 2 min (-72.3%) vs last 30 days
- 30d trend
- Arrivals
- on-time
- 6 min (-92.6%) vs last 30 days
- 30d trend
- Cancelled Departures
- 7 flights (30 day total)
Oct 11
2026
- Departure
- 7 min late7 min late7 minutes late
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 0
Oct 10
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 3 min early3 min early3 minutes early
- Cancelled
- 1
Oct 9
2026
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 8
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 5 min early5 min early5 minutes early
- Cancelled
- 0
Oct 7
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 13 min late13 min late13 minutes late
- Cancelled
- 0
Oct 6
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- 10 min late10 min late10 minutes late
- Cancelled
- 0
Oct 5
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 0
Oct 4
2026
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 3
2026
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 2
2026
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Oct 1
2026
- Departure
- 4 min late4 min late4 minutes late
- Arrival
- 1 min early1 min early1 minutes early
- Cancelled
- 0
Sep 30
2026
- Departure
- 5 min late5 min late5 minutes late
- Arrival
- 3 min late3 min late3 minutes late
- Cancelled
- 0
Sep 29
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 2
Sep 28
2026
- Departure
- on-timeon-timeon-time
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Sep 27
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 3 min early3 min early3 minutes early
- Cancelled
- 0
Sep 26
2026
- Departure
- 3 min late3 min late3 minutes late
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Sep 25
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 1 min early1 min early1 minutes early
- Cancelled
- 0
Sep 24
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 5 min late5 min late5 minutes late
- Cancelled
- 0
Sep 23
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 0
Sep 22
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 2 min early2 min early2 minutes early
- Cancelled
- 0
Sep 21
2026
- Departure
- 3 min late3 min late3 minutes late
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Sep 20
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 3 min early3 min early3 minutes early
- Cancelled
- 0
Sep 19
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 0
Sep 18
2026
- Departure
- 2 min late2 min late2 minutes late
- Arrival
- on-timeon-timeon-time
- Cancelled
- 0
Sep 17
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 3 min late3 min late3 minutes late
- Cancelled
- 0
Sep 16
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 3 min late3 min late3 minutes late
- Cancelled
- 2
Sep 15
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 2
Sep 14
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 4 min early4 min early4 minutes early
- Cancelled
- 0
Sep 13
2026
- Departure
- on-timeon-timeon-time
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 0
Sep 12
2026
- Departure
- 1 min late1 min late1 minutes late
- Arrival
- 2 min late2 min late2 minutes late
- Cancelled
- 0
| Date | Departure | Arrival | Cancelled |
|---|---|---|---|
|
Oct 11, 2026 |
7 min late7 min late7 minutes late | 2 min late2 min late2 minutes late | 0 |
|
Oct 10, 2026 |
on-timeon-timeon-time | 3 min early3 min early3 minutes early | 1 |
|
Oct 9, 2026 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
Oct 8, 2026 |
on-timeon-timeon-time | 5 min early5 min early5 minutes early | 0 |
|
Oct 7, 2026 |
on-timeon-timeon-time | 13 min late13 min late13 minutes late | 0 |
|
Oct 6, 2026 |
2 min late2 min late2 minutes late | 10 min late10 min late10 minutes late | 0 |
|
Oct 5, 2026 |
on-timeon-timeon-time | 2 min late2 min late2 minutes late | 0 |
|
Oct 4, 2026 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
Oct 3, 2026 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
Oct 2, 2026 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
Oct 1, 2026 |
4 min late4 min late4 minutes late | 1 min early1 min early1 minutes early | 0 |
|
Sep 30, 2026 |
5 min late5 min late5 minutes late | 3 min late3 min late3 minutes late | 0 |
|
Sep 29, 2026 |
on-timeon-timeon-time | 4 min early4 min early4 minutes early | 2 |
|
Sep 28, 2026 |
on-timeon-timeon-time | on-timeon-timeon-time | 0 |
|
Sep 27, 2026 |
on-timeon-timeon-time | 3 min early3 min early3 minutes early | 0 |
|
Sep 26, 2026 |
3 min late3 min late3 minutes late | on-timeon-timeon-time | 0 |
|
Sep 25, 2026 |
on-timeon-timeon-time | 1 min early1 min early1 minutes early | 0 |
|
Sep 24, 2026 |
on-timeon-timeon-time | 5 min late5 min late5 minutes late | 0 |
|
Sep 23, 2026 |
on-timeon-timeon-time | 2 min late2 min late2 minutes late | 0 |
|
Sep 22, 2026 |
on-timeon-timeon-time | 2 min early2 min early2 minutes early | 0 |
|
Sep 21, 2026 |
3 min late3 min late3 minutes late | on-timeon-timeon-time | 0 |
|
Sep 20, 2026 |
on-timeon-timeon-time | 3 min early3 min early3 minutes early | 0 |
|
Sep 19, 2026 |
on-timeon-timeon-time | 4 min early4 min early4 minutes early | 0 |
|
Sep 18, 2026 |
2 min late2 min late2 minutes late | on-timeon-timeon-time | 0 |
|
Sep 17, 2026 |
on-timeon-timeon-time | 3 min late3 min late3 minutes late | 0 |
|
Sep 16, 2026 |
1 min late1 min late1 minutes late | 3 min late3 min late3 minutes late | 2 |
|
Sep 15, 2026 |
on-timeon-timeon-time | 4 min early4 min early4 minutes early | 2 |
|
Sep 14, 2026 |
on-timeon-timeon-time | 4 min early4 min early4 minutes early | 0 |
|
Sep 13, 2026 |
on-timeon-timeon-time | 2 min late2 min late2 minutes late | 0 |
|
Sep 12, 2026 |
1 min late1 min late1 minutes late | 2 min late2 min late2 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
1 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 |
|---|---|---|
| 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 |