Atlas · airport entry
OPO Porto
Francisco Sa Carneiro, Portugal. Scheduled destination network as held on 2026-09-07.
- Destinations
- 147
- Countries reached
- 32
- Airlines
- 58
- Departures a day
- 210.8
Where you can fly from OPO
Every scheduled destination held for this airport, ordered by how often it is flown. Distances are great circle, computed from published coordinates.
| Destination | Country | Flights a day | Operated by | km | Routing |
|---|---|---|---|---|---|
| Madrid MAD | Spain | 12.14 | UX, ET, IB, FR | 438 | plan this |
| Paris ORY | France | 11.86 | U2, TP, TO | 1,200 | plan this |
| Lisbon LIS | Portugal | 11.43 | 6O, DJ, TP, TO | 277 | plan this |
| Geneva GVA | Switzerland | 8.43 | U2, LX, TP, VJH | 1,309 | plan this |
| Barcelona BCN | Spain | 8.29 | FR, VY | 899 | plan this |
| Funchal FNC | Portugal | 8 | U2, FR, TP | 1,191 | plan this |
| London LGW | the United Kingdom | 7.86 | A0, BA, U2, TP | 1,278 | plan this |
| Amsterdam AMS | the Netherlands | 5.43 | KL, HV, VistaJet | 1,595 | plan this |
| Zurich ZRH | Switzerland | 5.43 | CS, U2, IU, LX, TP | 1,530 | plan this |
| Luxembourg LUX | LU | 4.71 | U2, LG, FR | 1,463 | plan this |
| London STN | the United Kingdom | 3.86 | FR | 1,362 | plan this |
| Frankfurt-am-Main FRA | Germany | 3.71 | 4Y, LH, X3 | 1,650 | plan this |
| Faro FAO | Portugal | 3.57 | FR | 475 | plan this |
| Newark EWR | the United States | 3.43 | TP, UA | 5,361 | plan this |
| Paris CDG | France | 3.43 | AF, 3V | 1,231 | plan this |
| Brussels BRU | Belgium | 3.29 | SN, QY, FR | 1,436 | plan this |
| Ponta Delgada PDL | Portugal | 3.14 | S4 | plan this | |
| Palma De Mallorca PMI | Spain | 3 | U2, E4, IB, FR | 985 | plan this |
| Istanbul IST | Turkiye | 2.71 | TK | 3,104 | plan this |
| Manchester MAN | the United Kingdom | 2.71 | U2, LS, FR | 1,428 | plan this |
| Beauvais/Tillé BVA | France | 2.57 | FR | plan this | |
| Lyon LYS | France | 2.57 | U2, TO, V7 | 1,215 | plan this |
| Munich MUC | Germany | 2.57 | LH, X3 | 1,790 | plan this |
| Nantes NTE | France | 2.57 | U2, TO, V7 | 864 | plan this |
| Bâle/Mulhouse BSL | France | 2.43 | U2 | 1,464 | plan this |
| Rome FCO | Italy | 2.29 | FR, W4 | 1,739 | plan this |
| Cologne CGN | Germany | 2 | EW, FR, DJ | 1,617 | plan this |
| Copenhagen CPH | Denmark | 2 | DY, FR, SK | 2,226 | plan this |
| Bergamo BGY | Italy | 1.86 | FR | 1,559 | plan this |
| Lajes TER | Portugal | 1.86 | S4, TP | plan this | |
| Vienna VIE | Austria | 1.86 | OS, FR | 2,125 | plan this |
| Málaga AGP | Spain | 1.71 | FR | 624 | plan this |
| New York JFK | the United States | 1.71 | DL | 5,333 | plan this |
| Valencia VLC | Spain | 1.71 | FR | 721 | plan this |
| Alicante ALC | Spain | 1.57 | FR | 768 | plan this |
| Berlin BER | Germany | 1.57 | U2, EW, FR, SR | 2,078 | plan this |
| Bordeaux/Mérignac BOD | France | 1.43 | U2 | 759 | plan this |
| Bristol BRS | the United Kingdom | 1.43 | U2, FR | 1,215 | plan this |
| Marseille MRS | France | 1.43 | FR | 1,167 | plan this |
| Menorca Island MAH | Spain | 1.43 | U2, E4, IB | plan this | |
| Montreal YUL | Canada | 1.43 | AC, TS | 5,135 | plan this |
| Düsseldorf DUS | Germany | 1.29 | EW, X3 | 1,624 | plan this |
| Espargos SID | CV | 1.29 | U2, TP | 3,049 | plan this |
| Milan MXP | Italy | 1.29 | FR | 1,484 | plan this |
| Vila Baleira PXO | Portugal | 1.29 | HT, U2 | plan this | |
| Dublin DUB | Ireland | 1.14 | FR | 1,365 | plan this |
| Eindhoven EIN | the Netherlands | 1.14 | FR | 1,560 | plan this |
| Hamburg HAM | Germany | 1.14 | EW | 1,955 | plan this |
| Milan LIN | Italy | 1.14 | U2, VistaJet | 1,522 | plan this |
| Seville SVQ | Spain | 1.14 | FR | 489 | plan this |
| Stuttgart STR | Germany | 1.14 | EW | 1,627 | plan this |
| Warsaw WAW | Poland | 1.14 | LO, W6 | 2,541 | plan this |
| Birmingham BHX | the United Kingdom | 1 | LS, FR | 1,351 | plan this |
| Ibiza Town IBZ | Spain | 1 | U2, FR, VY | 895 | plan this |
| Nice NCE | France | 1 | U2 | 1,329 | plan this |
| Praia RAI | CV | 1 | U2, TP | 3,257 | plan this |
| Toulouse-Blagnac TLS | France | 1 | FR | 865 | plan this |
| Bilbao BIO | Spain | 0.86 | VY | 526 | plan this |
| Gran Canaria Island LPA | Spain | 0.86 | E4, IB, FR | 1,602 | plan this |
| Baden-Baden FKB | Germany | 0.71 | FR | plan this | |
| Boston BOS | the United States | 0.71 | TP | 5,047 | plan this |
| Casablanca CMN | Morocco | 0.71 | AT | 881 | plan this |
| Edinburgh EDI | the United Kingdom | 0.71 | FR | 1,679 | plan this |
| Kraków KRK | Poland | 0.71 | FR | 2,401 | plan this |
| Leipzig LEJ | Germany | 0.71 | QY | 1,954 | plan this |
| Marrakech RAK | Morocco | 0.71 | LS, FR | 1,073 | plan this |
| Oujda OUD | Morocco | 0.71 | HT, E4, IB | plan this | |
| Prague PRG | Czechia | 0.71 | U2, QS | 2,024 | plan this |
| Toronto YYZ | Canada | 0.71 | TS | 5,642 | plan this |
| Weeze NRN | Germany | 0.71 | FR | plan this | |
| Tenerife Island TFS | Spain | 0.6 | IB, FR | 1,635 | plan this |
| Athens ATH | Greece | 0.57 | A3 | 2,802 | plan this |
| Hahn HHN | Germany | 0.57 | FR | plan this | |
| Limerick city SNN | Ireland | 0.57 | FR | 1,273 | plan this |
| Luqa MLA | MT | 0.57 | FR | plan this | |
| Memmingen FMM | Germany | 0.57 | FR | plan this | |
| Pisa PSA | Italy | 0.57 | FR | 1,584 | plan this |
| Stockholm ARN | Sweden | 0.57 | DY, FR | 2,744 | plan this |
| Treviso TSF | Italy | 0.57 | FR | 1,749 | plan this |
| 0.57 | HT, E4 | plan this | |||
| Ajaccio/Napoléon Bonaparte AJA | France | 0.43 | XK | plan this | |
| Bari BRI | Italy | 0.43 | FR | 2,121 | plan this |
| Belgrade BEG | RS | 0.43 | JU | 2,376 | plan this |
| Billund BLL | Denmark | 0.43 | JP, DY | plan this | |
| Bologna BLQ | Italy | 0.43 | FR | 1,663 | plan this |
| Budapest BUD | Hungary | 0.43 | FR | 2,312 | plan this |
| Cagliari CAG | Italy | 0.43 | FR | plan this | |
| Castellón de la Plana CDT | Spain | 0.43 | FR | plan this | |
| Fuerteventura Island FUE | Spain | 0.43 | E4, IB | plan this | |
| Katowice KTW | Poland | 0.43 | W6 | plan this | |
| La Rochelle/Île de Ré LRH | France | 0.43 | FR | plan this | |
| Leeds LBA | the United Kingdom | 0.43 | FR | 1,497 | plan this |
| Liverpool LPL | the United Kingdom | 0.43 | FR | 1,412 | plan this |
| Luanda NBJ | AO | 0.43 | TP | 6,036 | plan this |
| Nápoli NAP | Italy | 0.43 | U2 | 1,920 | plan this |
| Nîmes/Garons FNI | France | 0.43 | FR | plan this | |
| Oslo OSL | Norway | 0.43 | DY | 2,503 | plan this |
| Rabil BVC | CV | 0.43 | U2 | plan this | |
| Ranón OVD | Spain | 0.43 | V7 | plan this | |
| Recife REC | Brazil | 0.43 | AD | 6,110 | plan this |
| São Paulo GRU | Brazil | 0.43 | TP | 8,181 | plan this |
| Tours/Val de Loire (Loire Valley) TUF | France | 0.43 | FR | plan this | |
| Warsaw WMI | Poland | 0.43 | FR | plan this | |
| 0.43 | E4 | plan this | |||
| Houmt El Souk DJE | TN | 0.31 | BJ, 4S | plan this | |
| Agadir AGA | Morocco | 0.29 | FR | 1,217 | plan this |
| Almería LEI | Spain | 0.29 | IB | plan this | |
| Belfast BFS | the United Kingdom | 0.29 | FR | 1,502 | plan this |
| Brest/Guipavas BES | France | 0.29 | TO | plan this | |
| Bucharest OTP | Romania | 0.29 | W4 | 2,835 | plan this |
| Campinas VCP | Brazil | 0.29 | AD | plan this | |
| Carcassonne/Salvaza CCF | France | 0.29 | FR | plan this | |
| Châlons/Vatry XCR | France | 0.29 | FR | plan this | |
| Dole/Tavaux DLE | France | 0.29 | FR | plan this | |
| Glasgow GLA | the United Kingdom | 0.29 | U2 | 1,655 | plan this |
| Goteborg GOT | Sweden | 0.29 | FR | 2,352 | plan this |
| Lille/Lesquin LIL | France | 0.29 | FR | plan this | |
| Monastir MIR | TN | 0.29 | E4, BJ | 1,793 | plan this |
| Newcastle upon Tyne NCL | the United Kingdom | 0.29 | LS | 1,617 | plan this |
| Nuremberg NUE | Germany | 0.29 | FR | 1,787 | plan this |
| Palermo PMO | Italy | 0.29 | U2 | 1,888 | plan this |
| Rabat RBA | Morocco | 0.29 | FR | 818 | plan this |
| Riga RIX | LV | 0.29 | BT | 2,903 | plan this |
| Rio de Janeiro GIG | Brazil | 0.29 | TP | 7,966 | plan this |
| Rodez/Marcillac RDZ | France | 0.29 | V7 | plan this | |
| São Pedro VXE | CV | 0.29 | U2 | plan this | |
| Tangier TNG | Morocco | 0.29 | FR | 659 | plan this |
| Tel Aviv Yafo TLV | IL | 0.29 | LY | 3,977 | plan this |
| Torino TRN | Italy | 0.29 | FR | 1,391 | plan this |
| Trapani TPS | Italy | 0.29 | FR | plan this | |
| Verona VRN | Italy | 0.29 | FR | plan this | |
| Wrocław WRO | Poland | 0.29 | FR | 2,236 | plan this |
| 0.29 | SM, 4S | plan this | |||
| 0.29 | E4, IB | plan this | |||
| 0.29 | E4 | plan this | |||
| Alava VIT | Spain | 0.14 | QY | plan this | |
| Catania CTA | Italy | 0.14 | HT | 2,078 | plan this |
| Enfidha NBE | TN | 0.14 | HT | plan this | |
| Hanover HAJ | Germany | 0.14 | X3 | 1,862 | plan this |
| Kerkyra Island CFU | Greece | 0.14 | HT | 2,416 | plan this |
| Lanzarote Island ACE | Spain | 0.14 | IB | plan this | |
| Paris LBG | France | 0.14 | VallJet | plan this | |
| Rennes/Saint-Jacques RNS | France | 0.14 | E4 | plan this | |
| 0.14 | SM | plan this | |||
| 0.14 | TP | plan this | |||
| 0.14 | TP | plan this | |||
| 0.14 | HT | plan this |
One connection away
972 airports are reachable from OPO with exactly one change, on top of the 147 nonstop. The ten below are the ones with the most frequency on the weaker of the two sectors, which is the leg that decides whether a same day connection holds. Computed from the scheduled network, not from a booking engine.
| Destination | Country | Best connection | Flights a day on the weaker leg | Routing |
|---|---|---|---|---|
| London LHR | the United Kingdom | via MAD | 12.14 | plan this |
| Tenerife TFN | Spain | via MAD | 12.14 | plan this |
| Algiers ALG | DZ | via ORY | 9.43 | plan this |
| Bogota BOG | CO | via MAD | 9.43 | plan this |
| LCG LCG | via MAD | 8.71 | plan this | |
| VGO VGO | via MAD | 8.57 | plan this | |
| Venice VCE | Italy | via MAD | 8.14 | plan this |
| Tunis TUN | TN | via ORY | 8 | plan this |
| Antalya AYT | Turkiye | via LGW | 7.86 | plan this |
| DLM DLM | via LGW | 7.86 | plan this |
Alternate airports within reach
Airports within 400 km that also carry scheduled traffic. When a departure from OPO is cancelled or nothing suitable leaves that night, these are the options a desk looks at before it accepts a lost day.
- Lisbon LIS277 km by great circle, 154 scheduled destinations
How deep the OPO board really is
The table above says where a courier can fly from OPO. This reads the same 138 destinations back for the questions a dispatcher asks second: how much of the board rests on one airline, how much of it runs less than daily, whether the return leg is as thick as the outbound, what the clock here does to a Gulf working day and which of the destinations shut at night, all of it computed on 2026-09-07 from AeroDataBox scheduled route statistics.
- 92of the 138 destinations are flown by one airline
- 81destinations run less than once a day
- 10destinations have four or more departures a day
- 48.6%of the destinations name Ryanair, the largest presence here
Who holds the departures at OPO
57 airlines appear on the OPO board and they do not hold it evenly. Ryanair is on 67 of the 138 destinations, 48.6 per cent of them, and on 48 of those it is the only airline flying the sector. The destinations it appears on carry 97.1 of the 208.4 departures a day this airport files, though other airlines fly some of the same sectors, so read that as reach rather than as a share of the aircraft.
The next largest presence is easyJet on 27 destinations. 33 of the 57 airlines at OPO appear on a single destination each, which is the long tail every airport carries, and none of it is a rebooking option when the sector you need is the one that fell over.
An airport held this tightly is quick to book and slow to recover: with 67 of the 138 destinations on one airline, the second aircraft on an OPO sector is usually another Ryanair aircraft, and when there is not one the desk is looking at another airport rather than another airline. That is why the alternate airports listed above matter more at OPO than the destination count does.
How much of the OPO board is daily
Of the 138 destinations, 57 are flown at least once a day and 81 are not, 8 of them running once a week or less. The median destination on the OPO board is flown 5 times a week.
An average of 0.14 flights a day is the schedule statistic, and it is worth translating it before anything is promised to anybody: OPO to Rennes/Saint-Jacques (RNS) is about one a week, so a missed departure there is not a delay of hours, it is the next slot.
The five busiest destinations carry 52.1 of the 208.4 departures a day, 25 per cent of the whole board. With 58.7 per cent of the 138 destinations running less than daily, this is a board that rewards booking the outbound before the collection is confirmed rather than after.
| Destination | Country | The only airline on it | Flights a week | km | Routing |
|---|---|---|---|---|---|
| Alava VIT | Spain | EAT Leipzig | 1 | 524 | plan this |
| Catania CTA | Italy | Air Horizont | 1 | 2,078 | plan this |
| Enfidha NBE | Tunisia | Air Horizont | 1 | 1,752 | plan this |
| Hanover HAJ | Germany | TUIfly | 1 | 1,862 | the pair page |
| Kerkyra Island CFU | Greece | Air Horizont | 1 | 2,416 | plan this |
| Lanzarote Island ACE | Spain | Iberia | 1 | 1,439 | plan this |
| Paris LBG | France | VallJet | 1 | 1,222 | plan this |
| Rennes/Saint-Jacques RNS | France | Enter Air | 1 | 936 | plan this |
| Agadir AGA | Morocco | Ryanair | 2 | 1,216 | plan this |
| Almería LEI | Spain | Iberia | 2 | 732 | plan this |
The ten destinations out of OPO where one airline holds the sector and files fewer than seven departures a week, with the weekly figure taken as the average daily rate multiplied by seven rather than as a fixed timetable. 61 further destinations sit in the same position and are listed in the board above.
The way back from OPO
The desk holds the return direction for 98 of the 138 destinations, and a courier plans the way back on those figures rather than on the outbound. On seven of them the return into OPO runs thinner than the outbound by more than a quarter. The widest gaps are Leipzig (LEJ) at 0.71 out a day against 0.14 back, Marrakech (RAK) at 0.71 out a day against 0.43 back and Istanbul (IST) at 2.7 out a day against 1.7 back.
It runs the other way as well: Warsaw (WAW) files 1.6 a day back into OPO against 1.1 outbound, which is the shape that strands a courier at this end rather than at the far end.
The clock at OPO
OPO keeps Europe/Lisbon time, three hours behind Dubai in summer and four hours behind in winter, because the clock here moves and the Gulf clock does not.
When it is 09:00 on a Dubai working morning it is 06:00 at OPO, so a nine to six day at each end overlaps for six hours. A customs question raised in the last three hours of the Dubai afternoon reaches nobody at OPO until the next morning, which is the practical limit on a same day instruction here.
The night at OPO
16 of the destinations from here carry a documented night restriction of their own, which is a departure time question at this end rather than an arrival problem at the other.
Into Paris (ORY) the door shuts at 23:30 local, so the last departure from OPO that lands inside it leaves around 20:28, on a modelled block of 2h 02m. Into Geneva (GVA) the door shuts at 00:00 local, so the last departure from OPO that lands inside it leaves around 20:50, on a modelled block of 2h 10m. Into London (LGW) the door shuts at 23:30 local, so the last departure from OPO that lands inside it leaves around 21:22, on a modelled block of 2h 08m. Those three departure times out of OPO are worked backwards from the published window with the block time model this site uses everywhere, 720 to 880 km an hour by sector length with thirty minutes on the ground, so they are arithmetic rather than a timetable and the desk checks the published departure before it promises the landing.
Where OPO turns up on the rest of this site
OPO carries two other pages on this site as well: the Portugal country desk, which sets out the customs practice, the working week and the road legs behind this airport and the OPO transit page for the connecting case, where a courier changes aircraft here rather than starting or finishing.
The site publishes 24 airport pair pages that start or end at OPO, each with the distance, the block time, the carriers on the sector and a door to door clock. The busiest are Porto to Paris (ORY), Porto to Lisbon (LIS) and Porto to Geneva (GVA).
13 courier postings name OPO as the airport a courier here flies from: Vigo, Porto and Braga.
To price a movement rather than read the board, the route calculator opens with OPO already set as the origin, and it works out the flying time, the distance and the delivery hour for any of the 138 destinations above.
Where this came from
- Destination network, airlines and frequencies: AeroDataBox scheduled route statistics, retrieved 2026-09-07.
- Airport names and coordinates: the OnBoard Courier airport reference list.
- Distances: great circle, computed from those coordinates. They are not flown distances and will read short against a real routing.
- Industrial sites: public company information. Nothing on this page states or implies that any company named is a customer of any courier operator.
Who publishes this. OnBoard Courier is a placement desk in Dubai. An assignment through OPO is carried out by a vetted partner operator, with the desk as the single point of contact from the quote to the signature. We keep the Atlas because our own desk needs it when there are twenty minutes to find a routing, and we publish it because a reference only one operator can read is not a reference. Free to read, quote and cite, including by competing operators. Found an error? Tell us and we will correct the entry.
If you need something moved rather than looked up, the desk prices a hand carry in fifteen minutes. If you fly often and want to carry, we are recruiting couriers.