Origins
| Origin | Distance | Duration | Airlines |
|---|---|---|---|
| Izmir (ADB) | 3,064 km | 285 min | SunExpress |
| Agadir (AGA) | 1,212 km | 130 min | Ryanair |
| Malaga (AGP) | 622 km | 90 min | Ryanair |
| Alicante (ALC) | 768 km | 100 min | Ryanair |
| Amsterdam (AMS) | 1,597 km | 160 min | Transavia, KLM |
| Stockholm (ARN) | 2,749 km | 255 min | Norwegian Air Sweden, Ryanair |
| Athens (ATH) | 2,809 km | 250 min | Aegean Airlines |
| Barcelona (BCN) | 899 km | 120 min | Ryanair, Vueling |
| Belgrade (BEG) | 2,380 km | 230 min | Air Serbia |
| Berlin (BER) | 2,082 km | 200 min | Eurowings, Ryanair, easyJet |
| Brest (BES) | 868 km | 105 min | Transavia France |
| Belfast (BFS) | 1,503 km | 150 min | Ryanair |
| Milan (BGY) | 1,561 km | 165 min | Ryanair |
| Birmingham (BHX) | 1,352 km | 140 min | Ryanair, Jet2 |
| Bilbao (BIO) | 527 km | 80 min | Volotea, Vueling |
| Billund (BLL) | 2,069 km | 190 min | Norwegian Air Sweden |
| Bologna (BLQ) | 1,666 km | 170 min | Ryanair |
| Bordeaux (BOD) | 761 km | 100 min | easyJet |
| Boston (BOS) | 5,062 km | 400 min | TAP Portugal |
| Bari (BRI) | 2,126 km | 205 min | Ryanair |
| Bristol (BRS) | 1,216 km | 130 min | Ryanair, easyJet |
| Brussels (BRU) | 1,475 km | 155 min | Ryanair, Brussels Airlines |
| Basel, Switzerland/Mulhouse (BSL) | 1,467 km | 160 min | easyJet |
| Budapest (BUD) | 2,317 km | 220 min | Ryanair, Wizz Air |
| Paris (BVA) | 1,242 km | 135 min | Ryanair |
| Boa Vista (BVC) | 3,100 km | 260 min | easyJet |
| Brive-La-Gaillarde (BVE) | 927 km | 105 min | Volotea |
| Cagliari (CAG) | 1,521 km | 165 min | Ryanair |
| Carcassonne (CCF) | 931 km | 105 min | Ryanair |
| Paris (CDG) | 1,233 km | 140 min | Air France |
| Benlloch (CDT) | 747 km | 95 min | Ryanair |
| Clermont-Ferrand (CFE) | 1,080 km | 120 min | Ryanair |
| Cologne (CGN) | 1,619 km | 165 min | Eurowings, Ryanair |
| Casablanca (CMN) | 878 km | 105 min | Royal Air Maroc |
| Copenhagen (CPH) | 2,229 km | 210 min | Norwegian Air Sweden, Ryanair, Scandinavian Airlines |
| Brussels (CRL) | 1,441 km | 145 min | Ryanair |
| Dole (DLE) | 1,296 km | 138 min | Ryanair |
| Dublin (DUB) | 1,367 km | 145 min | Ryanair |
| Dusseldorf (DUS) | 1,625 km | 165 min | Eurowings, TUI fly Deutschland |
| Edinburgh (EDI) | 1,680 km | 170 min | Ryanair |
| Eindhoven (EIN) | 1,563 km | 160 min | Ryanair |
| New York (EWR) | 5,376 km | 405 min | TAP Portugal, United Airlines |
| Faro (FAO) | 472 km | 70 min | Ryanair |
| Rome (FCO) | 1,743 km | 180 min | Ryanair, Wizz Air Malta |
| Karlsruhe/Baden-Baden (FKB) | 1,559 km | 160 min | Ryanair |
| Memmingen (FMM) | 1,671 km | 170 min | Ryanair |
| Funchal (FNC) | 1,190 km | 120 min | Ryanair, TAP Portugal, easyJet |
| Nimes (FNI) | 1,110 km | 120 min | Ryanair |
| Frankfurt (FRA) | 1,656 km | 170 min | Lufthansa, TUI fly Deutschland |
| Rio De Janeiro (GIG) | 7,939 km | 595 min | TAP Portugal |
| Glasgow (GLA) | 1,655 km | 168 min | easyJet |
| Gothenburg (GOT) | 2,356 km | 220 min | Ryanair |
| Sao Paulo (GRU) | 8,154 km | 610 min | TAP Portugal |
| Granada (GRX) | 617 km | 150 min | Volotea |
| Geneva (GVA) | 1,310 km | 145 min | SWISS, TAP Portugal, easyJet |
| Hanover (HAJ) | 1,865 km | 175 min | TUI fly Deutschland |
| Hamburg (HAM) | 1,959 km | 185 min | Eurowings |
| Hahn (HHN) | 1,570 km | 160 min | Ryanair |
| Ibiza (IBZ) | 895 km | 105 min | Ryanair, easyJet, Vueling |
| Istanbul (IST) | 3,111 km | 295 min | Turkish Airlines |
| New York (JFK) | 5,348 km | 420 min | Delta Air Lines |
| Reykjavik (KEF) | 2,689 km | 225 min | Neos |
| Krakow (KRK) | 2,407 km | 230 min | Ryanair |
| Katowice (KTW) | 2,367 km | 225 min | Wizz Air |
| Leeds (LBA) | 1,498 km | 155 min | Ryanair |
| London (LGW) | 1,280 km | 145 min | British Airways, TAP Portugal, easyJet |
| Lille (LIL) | 1,379 km | 145 min | Ryanair |
| Milan (LIN) | 1,525 km | 160 min | easyJet |
| Lisbon (LIS) | 276 km | 60 min | TAP Portugal |
| Las Palmas (LPA) | 1,598 km | 150 min | Ryanair |
| Liverpool (LPL) | 1,414 km | 145 min | Ryanair |
| La Rochelle (LRH) | 815 km | 95 min | Ryanair |
| London (LTN) | 1,341 km | 150 min | easyJet |
| Luxembourg (LUX) | 1,487 km | 155 min | Ryanair, Luxair, TAP Portugal, easyJet |
| Lyon (LYS) | 1,216 km | 135 min | Transavia France, easyJet, Volotea |
| Madrid (MAD) | 438 km | 75 min | Ethiopian Airlines, Ryanair, Iberia, Air Europa |
| Menorca (MAH) | 1,101 km | 125 min | easyJet |
| Manchester (MAN) | 1,430 km | 150 min | Ryanair, Jet2, easyJet |
| Malta (MLA) | 2,099 km | 200 min | Ryanair |
| Marseille (MRS) | 1,169 km | 130 min | Ryanair |
| Munich (MUC) | 1,794 km | 180 min | Lufthansa, TUI fly Deutschland |
| Milan (MXP) | 1,485 km | 160 min | Ryanair, easyJet |
| Naples (NAP) | 1,924 km | 195 min | easyJet |
| Luanda (NBJ) | 6,013 km | 500 min | TAAG, TAP Portugal |
| Nice (NCE) | 1,331 km | 145 min | easyJet |
| Newcastle (NCL) | 1,617 km | 160 min | Jet2 |
| Dusseldorf (NRN) | 1,614 km | 165 min | Ryanair |
| Nantes (NTE) | 866 km | 105 min | Transavia France, easyJet, Volotea |
| Nuremberg (NUE) | 1,790 km | 180 min | Ryanair |
| Paris (ORY) | 1,201 km | 140 min | Transavia France, TAP Portugal, easyJet |
| Oslo (OSL) | 2,507 km | 225 min | Norwegian Air Shuttle |
| Bucharest (OTP) | 2,840 km | 260 min | Wizz Air Malta |
| Asturias (OVD) | 337 km | 70 min | Volotea |
| Ponta Delgada (Azores) (PDL) | 1,512 km | 140 min | Ryanair, Azores Airlines |
| Palma de Mallorca (PMI) | 985 km | 115 min | Ryanair, easyJet |
| Palermo (PMO) | 1,892 km | 185 min | easyJet |
| Prague (PRG) | 2,029 km | 200 min | SmartWings, easyJet |
| Pisa (PSA) | 1,588 km | 165 min | Ryanair |
| Porto Santo (Madeira) (PXO) | 1,133 km | 110 min | easyJet |
| Praia (RAI) | 3,246 km | 280 min | TAP Portugal, easyJet |
| Marrakech (RAK) | 1,070 km | 115 min | Ryanair |
| Rabat (RBA) | 817 km | 100 min | Ryanair |
| Rodez (RDZ) | 976 km | 105 min | Volotea |
| Recife (REC) | 6,089 km | 480 min | Azul |
| Riga (RIX) | 2,909 km | 265 min | Air Baltic |
| Sal (SID) | 3,041 km | 260 min | easyJet |
| Shannon (SNN) | 1,273 km | 135 min | Ryanair |
| Sofia (SOF) | 2,648 km | 260 min | Bulgaria Air |
| Split (SPU) | 2,064 km | 195 min | easyJet |
| London (STN) | 1,365 km | 145 min | Ryanair |
| Stuttgart (STR) | 1,628 km | 165 min | Eurowings |
| Sevilla (SVQ) | 486 km | 75 min | Ryanair |
| Strasbourg (SXB) | 1,517 km | 148 min | Volotea |
| Terceira (TER) | 1,593 km | 145 min | Azores Airlines, TAP Portugal |
| Tenerife (TFS) | 1,631 km | 155 min | Ryanair |
| Toulouse (TLS) | 867 km | 105 min | Ryanair |
| Tel Aviv-Yafo (TLV) | 3,983 km | 360 min | El Al, TAP Portugal |
| Tangier (TNG) | 657 km | 85 min | Ryanair |
| Trapani (TPS) | 1,851 km | 180 min | Ryanair |
| Turin (TRN) | 1,393 km | 150 min | Ryanair |
| Venice (TSF) | 1,753 km | 175 min | Ryanair |
| Tours (TUF) | 1,016 km | 120 min | Ryanair |
| Campinas (VCP) | 8,146 km | 605 min | Azul |
| Vienna (VIE) | 2,129 km | 200 min | Ryanair, Austrian Airlines |
| Valencia (VLC) | 722 km | 95 min | Ryanair |
| Verona (VRN) | 1,649 km | 170 min | Ryanair |
| Sao Vicente (VXE) | 3,127 km | 268 min | easyJet |
| Warsaw (WAW) | 2,546 km | 245 min | Ryanair, LOT - Polish Airlines, Wizz Air |
| Modlin (WMI) | 2,535 km | 235 min | Ryanair |
| Wroclaw (WRO) | 2,242 km | 215 min | Ryanair |
| Chalons-en-Champagne (XCR) | 1,312 km | 145 min | Ryanair |
| Montreal (YUL) | 5,151 km | 375 min | Air Canada, Air Transat |
| Toronto (YYZ) | 5,656 km | 415 min | Air Transat |
| Zurich (ZRH) | 1,533 km | 160 min | Comlux Aruba, SWISS, TAP Portugal, easyJet, FlexFlight |
Inbound network coverage
Porto (OPO) receives direct flights from 133 airports per the FlightConnections route map. 133 origins cross-verified by our route database.
Aircraft assignments
We are currently expanding per-airline aircraft data for every route. Until that ships, you can browse by aircraft type at /by-aircraft.
Frequently asked questions
What is the longest flight to OPO?
Sao Paulo at 8,154 km.
How many airports have direct flights to Porto (OPO)?
Per the FlightConnections route map, 133 airports send direct flights to OPO.