Morocco: airports and direct flights
The destination's airports, the regions they serve and direct flights from Europe, airline by airline, with their season and source.
Marrakesh Menara (RAK)
Regions served: Marrakesh (10 km, 0h16), High Atlas (66 km, 1h27), Essaouira (185 km, 2h42), Agadir (248 km, 2h59), Safi (159 km, 3h06), Azilal and Ouzoud waterfalls (164 km, 3h11), El Jadida and Oualidia (203 km, 3h15), Taghazout (272 km, 3h22), Taroudant (268 km, 3h22), Ouarzazate, Ait Ben Haddou and the Draa Valley (199 km, 3h48)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Basel-Mulhouse (EuroAirport) | easyJet | all year | — | euroairport.com (accessed 20 October 2026) |
| Bordeaux–Mérignac | Royal Air Maroc | all year | 2h30 | bordeaux.aeroport.fr (accessed 20 October 2026) |
| Bordeaux–Mérignac | Volotea | winter | 2h30 | bordeaux.aeroport.fr (accessed 20 October 2026) |
| Bordeaux–Mérignac | easyJet | all year | 2h30 | bordeaux.aeroport.fr (accessed 20 October 2026) |
| Brussels Airport | Royal Air Maroc | not specified | 3h25 | royalairmaroc.com (accessed 21 October 2026) |
| Brussels Airport | TUI fly | all year | — | tuifly.be (accessed 21 October 2026) |
| Brussels Airport | Transavia | not specified | 3h35 | transavia.com (accessed 21 October 2026) |
| Brussels South Charleroi | Ryanair | all year | 3h32 | ryanair.com (accessed 21 October 2026) |
| Dole–Jura | Ryanair | all year | 3h10 | ryanair.com (accessed 20 October 2026) |
| La Rochelle–Île de Ré | Ryanair | winter | 2h40 | ryanair.com (accessed 20 October 2026) |
| Lille–Lesquin | TUI fly | all year | 3h45 | lille.aeroport.fr (accessed 20 October 2026) |
| Lille–Lesquin | Transavia | winter | 3h45 | lille.aeroport.fr (accessed 20 October 2026) |
| Lille–Lesquin | Volotea | winter | 3h45 | lille.aeroport.fr (accessed 20 October 2026) |
| Lille–Lesquin | easyJet | all year | 3h45 | lille.aeroport.fr (accessed 20 October 2026) |
| Limoges–Bellegarde | Ryanair | winter | 2h45 | ryanair.com (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | Royal Air Maroc | all year | 3h10 | lyonaeroports.com (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | Transavia | all year | 3h10 | lyonaeroports.com (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | Volotea | not specified | 3h10 | lyonaeroports.com (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | easyJet | all year | 3h10 | lyonaeroports.com (accessed 20 October 2026) |
| Marseille Provence | Royal Air Maroc | all year | — | marseille.aeroport.fr (accessed 20 October 2026) |
| Marseille Provence | Ryanair | all year | 2h48 | ryanair.com (accessed 20 October 2026) |
| Marseille Provence | Transavia | all year | — | marseille.aeroport.fr (accessed 20 October 2026) |
| Montpellier–Méditerranée | Transavia | all year | 2h55 | montpellier.aeroport.fr (accessed 20 October 2026) |
| Nantes Atlantique | Royal Air Maroc | all year | 2h55 | newsroom.nantes.aeroport.fr (accessed 20 October 2026) |
| Nice Côte d'Azur | easyJet | all year | 3h05 | nice.aeroport.fr (accessed 20 October 2026) |
| Nîmes–Garons | Ryanair | all year | 2h50 | ryanair.com (accessed 20 October 2026) |
| Paris–Beauvais | Ryanair | all year | 3h20 | ryanair.com (accessed 20 October 2026) |
| Paris–Charles de Gaulle | Royal Air Maroc | not specified | 3h20 | royalairmaroc.com (accessed 20 October 2026) |
| Paris–Orly | Royal Air Maroc | not specified | 3h20 | royalairmaroc.com (accessed 20 October 2026) |
| Paris–Orly | TUI fly | not specified | — | tuifly.fr (accessed 20 October 2026) |
| Paris–Orly | Transavia | not specified | 3h25 | transavia.com (accessed 20 October 2026) |
| Paris–Orly | Vueling | not specified | 3h00 | vueling.com (accessed 20 October 2026) |
| Paris–Vatry | Ryanair | all year | 3h22 | ryanair.com (accessed 20 October 2026) |
| Perpignan–Rivesaltes | Ryanair | all year | 2h35 | ryanair.com (accessed 20 October 2026) |
| Rennes–Bretagne | Transavia | not specified | — | rennes.aeroport.fr (accessed 20 October 2026) |
| Strasbourg–Entzheim | Volotea | winter | — | strasbourg.aeroport.fr (accessed 20 October 2026) |
| Strasbourg–Entzheim | easyJet | all year | — | strasbourg.aeroport.fr (accessed 20 October 2026) |
| Toulouse–Blagnac | Royal Air Maroc | not specified | — | toulouse.aeroport.fr (accessed 20 October 2026) |
| Toulouse–Blagnac | Ryanair | all year | 2h35 | ryanair.com (accessed 20 October 2026) |
| Toulouse–Blagnac | easyJet | all year | — | toulouse.aeroport.fr (accessed 20 October 2026) |
| Tours Val de Loire | Ryanair | all year | 2h55 | ryanair.com (accessed 20 October 2026) |
Agadir–Al Massira (AGA)
Regions served: Agadir (33 km, 0h49), Taghazout (57 km, 1h11), Taroudant (66 km, 1h16), Tafraout and the Anti-Atlas (137 km, 2h54), Sidi Ifni, Mirleft and Legzira (170 km, 3h04), Essaouira (209 km, 3h41)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Basel-Mulhouse (EuroAirport) | easyJet | all year | — | euroairport.com (accessed 20 October 2026) |
| Bordeaux–Mérignac | Volotea | winter | 2h45 | bordeaux.aeroport.fr (accessed 20 October 2026) |
| Bordeaux–Mérignac | easyJet | winter | 2h45 | bordeaux.aeroport.fr (accessed 20 October 2026) |
| Brussels Airport | TUI fly | all year | — | tuifly.be (accessed 21 October 2026) |
| Brussels Airport | Transavia | not specified | — | transavia.com (accessed 21 October 2026) |
| Brussels South Charleroi | Ryanair | all year | 3h45 | ryanair.com (accessed 21 October 2026) |
| Lille–Lesquin | TUI fly | all year | 3h00 | lille.aeroport.fr (accessed 20 October 2026) |
| Lille–Lesquin | Volotea | winter | 3h00 | lille.aeroport.fr (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | Transavia | all year | — | lyonaeroports.com (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | easyJet | all year | — | lyonaeroports.com (accessed 20 October 2026) |
| Marseille Provence | Ryanair | all year | 3h00 | ryanair.com (accessed 20 October 2026) |
| Montpellier–Méditerranée | Transavia | summer | 2h15 | montpellier.aeroport.fr (accessed 20 October 2026) |
| Nantes Atlantique | Ryanair | all year | 3h02 | ryanair.com (accessed 20 October 2026) |
| Nice Côte d'Azur | easyJet | summer | 3h10 | nice.aeroport.fr (accessed 20 October 2026) |
| Paris–Beauvais | Ryanair | all year | 3h30 | ryanair.com (accessed 20 October 2026) |
| Paris–Orly | Royal Air Maroc | not specified | 3h30 | royalairmaroc.com (accessed 20 October 2026) |
| Paris–Orly | TUI fly | not specified | — | tuifly.fr (accessed 20 October 2026) |
| Paris–Orly | Transavia | not specified | 3h35 | transavia.com (accessed 20 October 2026) |
| Toulouse–Blagnac | Ryanair | all year | 2h50 | ryanair.com (accessed 20 October 2026) |
Fez–Saïss (FEZ)
Regions served: Fez (14 km, 0h19), Meknes and Volubilis (66 km, 0h58), Ifrane and the Middle Atlas (57 km, 1h00), Rabat (201 km, 2h26)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Bordeaux–Mérignac | Air Arabia Maroc | all year | 2h30 | bordeaux.aeroport.fr (accessed 20 October 2026) |
| Brussels Airport | Air Arabia Maroc | not specified | — | airarabia.com (accessed 21 October 2026) |
| Brussels Airport | TUI fly | not specified | — | tuifly.be (accessed 21 October 2026) |
| Brussels South Charleroi | Ryanair | all year | 3h02 | ryanair.com (accessed 21 October 2026) |
| Dole–Jura | Ryanair | all year | 2h38 | ryanair.com (accessed 20 October 2026) |
| Lille–Lesquin | Ryanair | summer | 3h00 | ryanair.com (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | Air Arabia Maroc | all year | — | lyonaeroports.com (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | Transavia | all year | — | lyonaeroports.com (accessed 20 October 2026) |
| Marseille Provence | Air Arabia Maroc | all year | — | marseille.aeroport.fr (accessed 20 October 2026) |
| Marseille Provence | Ryanair | all year | 2h15 | ryanair.com (accessed 20 October 2026) |
| Montpellier–Méditerranée | Air Arabia Maroc | all year | 2h10 | montpellier.aeroport.fr (accessed 20 October 2026) |
| Nantes Atlantique | Ryanair | all year | 2h25 | ryanair.com (accessed 20 October 2026) |
| Nîmes–Garons | Ryanair | all year | 2h15 | ryanair.com (accessed 20 October 2026) |
| Paris–Beauvais | Ryanair | all year | 2h50 | ryanair.com (accessed 20 October 2026) |
| Paris–Orly | Transavia | not specified | 3h00 | transavia.com (accessed 20 October 2026) |
| Toulouse–Blagnac | Air Arabia Maroc | all year | — | toulouse.aeroport.fr (accessed 20 October 2026) |
| Toulouse–Blagnac | Ryanair | all year | 2h05 | ryanair.com (accessed 20 October 2026) |
Casablanca Mohammed V (CMN)
Regions served: Casablanca (32 km, 0h34), Rabat (110 km, 1h21), El Jadida and Oualidia (116 km, 1h27), Safi (254 km, 2h53), Azilal and Ouzoud waterfalls (243 km, 3h40)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Basel-Mulhouse (EuroAirport) | Air Arabia Maroc | all year | — | euroairport.com (accessed 20 October 2026) |
| Bordeaux–Mérignac | Royal Air Maroc | all year | 2h20 | bordeaux.aeroport.fr (accessed 20 October 2026) |
| Brussels Airport | Air Arabia Maroc | not specified | — | airarabia.com (accessed 21 October 2026) |
| Brussels Airport | Royal Air Maroc | not specified | 3h25 | royalairmaroc.com (accessed 21 October 2026) |
| Brussels Airport | TUI fly | all year | — | tuifly.be (accessed 21 October 2026) |
| Lille–Lesquin | Royal Air Maroc | all year | 2h45 | lille.aeroport.fr (accessed 20 October 2026) |
| Lille–Lesquin | TUI fly | all year | 2h45 | lille.aeroport.fr (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | Air Arabia Maroc | all year | — | lyonaeroports.com (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | Royal Air Maroc | all year | — | lyonaeroports.com (accessed 20 October 2026) |
| Marseille Provence | Royal Air Maroc | all year | — | marseille.aeroport.fr (accessed 20 October 2026) |
| Montpellier–Méditerranée | Air Arabia Maroc | all year | 2h35 | montpellier.aeroport.fr (accessed 20 October 2026) |
| Montpellier–Méditerranée | Royal Air Maroc | all year | 2h35 | montpellier.aeroport.fr (accessed 20 October 2026) |
| Nice Côte d'Azur | Royal Air Maroc | all year | 2h40 | nice.aeroport.fr (accessed 20 October 2026) |
| Paris–Charles de Gaulle | Air France | not specified | — | wwws.airfrance.fr (accessed 20 October 2026) |
| Paris–Charles de Gaulle | Royal Air Maroc | all year | 3h00 | royalairmaroc.com (accessed 20 October 2026) |
| Paris–Orly | Royal Air Maroc | all year | 3h00 | royalairmaroc.com (accessed 20 October 2026) |
| Paris–Orly | TUI fly | not specified | — | tuifly.fr (accessed 20 October 2026) |
| Paris–Orly | Transavia | not specified | 3h10 | transavia.com (accessed 20 October 2026) |
| Strasbourg–Entzheim | Royal Air Maroc | all year | — | strasbourg.aeroport.fr (accessed 20 October 2026) |
| Toulouse–Blagnac | Royal Air Maroc | all year | — | toulouse.aeroport.fr (accessed 20 October 2026) |
Rabat–Salé (RBA)
Regions served: Rabat (11 km, 0h16), Casablanca (104 km, 1h27), Meknes and Volubilis (142 km, 1h49), Asilah, Larache and Lixus (195 km, 2h18), Fez (200 km, 2h23), El Jadida and Oualidia (204 km, 2h28), Tangier (238 km, 2h52), Ifrane and the Middle Atlas (198 km, 2h53)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Basel-Mulhouse (EuroAirport) | Air Arabia Maroc | all year | — | euroairport.com (accessed 20 October 2026) |
| Bordeaux–Mérignac | easyJet | all year | 2h15 | bordeaux.aeroport.fr (accessed 20 October 2026) |
| Brussels Airport | Air Arabia Maroc | not specified | — | airarabia.com (accessed 21 October 2026) |
| Brussels Airport | TUI fly | all year | — | tuifly.be (accessed 21 October 2026) |
| Brussels South Charleroi | Ryanair | all year | 3h10 | ryanair.com (accessed 21 October 2026) |
| Lyon–Saint-Exupéry | easyJet | all year | — | lyonaeroports.com (accessed 20 October 2026) |
| Marseille Provence | Ryanair | all year | 2h25 | ryanair.com (accessed 20 October 2026) |
| Montpellier–Méditerranée | Transavia | summer | 2h25 | montpellier.aeroport.fr (accessed 20 October 2026) |
| Nice Côte d'Azur | easyJet | all year | 2h50 | nice.aeroport.fr (accessed 20 October 2026) |
| Paris–Beauvais | Ryanair | all year | 2h55 | ryanair.com (accessed 20 October 2026) |
| Paris–Charles de Gaulle | Air Arabia Maroc | not specified | — | flights.airarabia.com (accessed 20 October 2026) |
| Paris–Charles de Gaulle | Royal Air Maroc | not specified | 3h00 | royalairmaroc.com (accessed 20 October 2026) |
| Paris–Orly | Royal Air Maroc | not specified | 3h00 | royalairmaroc.com (accessed 20 October 2026) |
| Paris–Orly | TUI fly | not specified | — | tuifly.fr (accessed 20 October 2026) |
| Paris–Orly | Transavia | not specified | 2h55 | transavia.com (accessed 20 October 2026) |
| Toulouse–Blagnac | Ryanair | all year | 2h10 | ryanair.com (accessed 20 October 2026) |
Tangier Ibn Battouta (TNG)
Regions served: Tangier (13 km, 0h17), Asilah, Larache and Lixus (41 km, 0h37), Tetouan and Tamuda Bay (72 km, 1h08), Chefchaouen (124 km, 2h09)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Basel-Mulhouse (EuroAirport) | easyJet | all year | — | euroairport.com (accessed 20 October 2026) |
| Bordeaux–Mérignac | Air Arabia Maroc | all year | 2h00 | bordeaux.aeroport.fr (accessed 20 October 2026) |
| Brussels Airport | Air Arabia Maroc | not specified | — | airarabia.com (accessed 21 October 2026) |
| Brussels Airport | Brussels Airlines | summer | 3h05 | brusselsairlines.com (accessed 21 October 2026) |
| Brussels Airport | Royal Air Maroc | not specified | 2h55 | royalairmaroc.com (accessed 21 October 2026) |
| Brussels Airport | TUI fly | all year | — | tuifly.be (accessed 21 October 2026) |
| Brussels South Charleroi | Ryanair | all year | 2h58 | ryanair.com (accessed 21 October 2026) |
| Carcassonne | Ryanair | summer | 2h00 | ryanair.com (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | Air Arabia Maroc | all year | — | lyonaeroports.com (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | easyJet | all year | — | lyonaeroports.com (accessed 20 October 2026) |
| Marseille Provence | Ryanair | all year | 2h15 | ryanair.com (accessed 20 October 2026) |
| Montpellier–Méditerranée | Transavia | summer | 2h10 | montpellier.aeroport.fr (accessed 20 October 2026) |
| Paris–Beauvais | Ryanair | all year | 2h45 | ryanair.com (accessed 20 October 2026) |
| Paris–Charles de Gaulle | Air France | winter | — | wwws.airfrance.fr (accessed 20 October 2026) |
| Paris–Orly | Transavia | not specified | 2h50 | transavia.com (accessed 20 October 2026) |
| Paris–Orly | Vueling | all year | 2h40 | vueling.com (accessed 20 October 2026) |
| Toulouse–Blagnac | Ryanair | all year | 2h00 | ryanair.com (accessed 20 October 2026) |
Oujda–Angads (OUD)
Regions served: Oujda and Saidia (15 km, 0h22)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Brussels Airport | TUI fly | all year | — | tuifly.be (accessed 21 October 2026) |
| Brussels South Charleroi | Ryanair | winter | 3h00 | ryanair.com (accessed 21 October 2026) |
| Lille–Lesquin | TUI fly | all year | 2h05 | lille.aeroport.fr (accessed 20 October 2026) |
| Lyon–Saint-Exupéry | Transavia | not specified | — | lyonaeroports.com (accessed 20 October 2026) |
| Marseille Provence | Ryanair | winter | 2h05 | ryanair.com (accessed 20 October 2026) |
| Paris–Beauvais | Ryanair | winter | 2h45 | ryanair.com (accessed 20 October 2026) |
| Paris–Orly | Royal Air Maroc | not specified | 2h40 | royalairmaroc.com (accessed 20 October 2026) |
| Paris–Orly | TUI fly | not specified | — | tuifly.fr (accessed 20 October 2026) |
| Paris–Orly | Transavia | not specified | 2h50 | transavia.com (accessed 20 October 2026) |
| Toulouse–Blagnac | Ryanair | winter | 1h55 | ryanair.com (accessed 20 October 2026) |
Essaouira–Mogador (ESU)
Regions served: Essaouira (19 km, 0h25), Safi (126 km, 2h14), Taghazout (145 km, 2h26), Agadir (169 km, 2h48), Marrakesh (189 km, 2h53)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Bordeaux–Mérignac | easyJet | all year | 2h50 | bordeaux.aeroport.fr (accessed 20 October 2026) |
| Brussels Airport | TUI fly | not specified | — | tuifly.be (accessed 21 October 2026) |
| Brussels South Charleroi | Ryanair | winter | 3h40 | ryanair.com (accessed 21 October 2026) |
| Lyon–Saint-Exupéry | easyJet | all year | — | lyonaeroports.com (accessed 20 October 2026) |
| Marseille Provence | Ryanair | winter | 2h55 | ryanair.com (accessed 20 October 2026) |
| Nantes Atlantique | easyJet | winter | — | newsroom.nantes.aeroport.fr (accessed 20 October 2026) |
| Paris–Orly | Transavia | not specified | 3h30 | transavia.com (accessed 20 October 2026) |
Nador–Al Aroui (NDR)
Regions served: Al Hoceima (124 km, 2h04), Oujda and Saidia (142 km, 2h06)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Brussels Airport | Air Arabia Maroc | not specified | — | airarabia.com (accessed 21 October 2026) |
| Brussels Airport | Brussels Airlines | summer | 3h00 | brusselsairlines.com (accessed 21 October 2026) |
| Brussels Airport | Royal Air Maroc | not specified | 3h15 | royalairmaroc.com (accessed 21 October 2026) |
| Brussels Airport | TUI fly | all year | — | tuifly.be (accessed 21 October 2026) |
| Brussels South Charleroi | Ryanair | winter | 2h55 | ryanair.com (accessed 21 October 2026) |
| Marseille Provence | Ryanair | winter | 2h05 | ryanair.com (accessed 20 October 2026) |
| Montpellier–Méditerranée | Air Arabia Maroc | all year | 2h00 | montpellier.aeroport.fr (accessed 20 October 2026) |
| Paris–Beauvais | Ryanair | winter | 2h40 | ryanair.com (accessed 20 October 2026) |
| Paris–Orly | Transavia | not specified | 2h50 | transavia.com (accessed 20 October 2026) |
Dakhla (VIL)
Regions served: Dakhla (2 km, 0h04)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Marseille Provence | Transavia | winter | — | marseille.aeroport.fr (accessed 20 October 2026) |
| Paris–Orly | Transavia | not specified | 5h00 | transavia.com (accessed 20 October 2026) |
Ouarzazate (OZZ)
Regions served: Ouarzazate, Ait Ben Haddou and the Draa Valley (3 km, 0h07), Dades and Todgha valleys (113 km, 2h07)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Marseille Provence | Ryanair | winter | 2h45 | ryanair.com (accessed 20 October 2026) |
| Paris–Orly | Transavia | not specified | 3h25 | transavia.com (accessed 20 October 2026) |
Tetouan–Sania Ramel (TTU)
Regions served: Tetouan and Tamuda Bay (6 km, 0h08), Tangier (62 km, 1h02), Chefchaouen (67 km, 1h19), Asilah, Larache and Lixus (103 km, 1h25)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Brussels Airport | Royal Air Maroc | winter | — | pressroom.brusselsairport.be (accessed 21 October 2026) |
| Brussels Airport | TUI fly | all year | — | tuifly.be (accessed 21 October 2026) |
| Brussels South Charleroi | Ryanair | winter | 2h50 | ryanair.com (accessed 21 October 2026) |
Al Hoceima–Cherif Al Idrissi (AHU)
Regions served: Al Hoceima (17 km, 0h24), Fez (257 km, 3h59)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Brussels Airport | TUI fly | all year | — | tuifly.be (accessed 21 October 2026) |
Errachidia–Moulay Ali Cherif (ERH)
Regions served: Merzouga and Erg Chebbi (121 km, 2h06), Dades and Todgha valleys (193 km, 3h24)
| Departure | Airline | Season | Flight time | Source |
|---|---|---|---|---|
| Paris–Orly | Transavia | not specified | 3h25 | transavia.com (accessed 20 October 2026) |
Other airports, with no direct flight found (France, Belgium)
- Beni Mellal (BEM) — Regions served: Azilal and Ouzoud waterfalls (107 km, 2h17), Casablanca (217 km, 2h46), Marrakesh (207 km, 3h33), Ifrane and the Middle Atlas (215 km, 3h56)
- Bouarfa (UAR) — Regions served: Oujda and Saidia (266 km, 3h43)
- Tan-Tan (TTA) — Regions served: Sidi Ifni, Mirleft and Legzira (191 km, 2h42)
- Zagora (OZG) — Regions served: Ouarzazate, Ait Ben Haddou and the Draa Valley (169 km, 3h19)
Direct flights checked on airport and airline websites, as of each source's date. Only flights confirmed by an official source are listed; others may exist. They change every aviation season (late March and late October). Check with the airline before booking. Road distances and times: route calculation on OpenStreetMap, without traffic or checkpoints.
Source: OurAirports — accessed 20 October 2026
A travel advisor replies by email. Free, no commitment.