9,485 km · International

São Paulo/Guarulhos–Governor André Franco Montoro (GRU) – Milan Malpensa (MXP)

In July 2026, 62 flights operated between São Paulo/Guarulhos–Governor André Franco Montoro and Milan Malpensa (both directions), and 53.2% left on time, according to Brazil's ANAC.

Flights per month

Only complete months are shown. A month appears once the source has published every day of it.

The most recent periods19 periods
PeriodFlights operated 2025Flights operated 2026Change vs last year
January5262▲ 19.2%
February4655▲ 19.6%
March5462▲ 14.8%
April5060▲ 20.0%
May5368▲ 28.3%
June5960▲ 1.7%
July62620.0%
August61––
September60––
October62–in progress
November60––
December60––
Year to date (Jan–Jul)376429▲ 14.1%

On-time departures by month

Departures within 15 minutes of schedule.

The most recent periods19 periods
PeriodOn-time departures 2025On-time departures 2026Change vs last year
January78.8%69.4%▼ 11.9%
February65.2%58.2%▼ 10.7%
March79.6%75.8%▼ 4.8%
April62.0%71.7%▲ 15.6%
May83.0%80.9%▼ 2.5%
June74.6%58.3%▼ 21.8%
July64.5%53.2%▼ 17.5%
August67.2%––
September65.0%––
October64.5%–in progress
November65.0%––
December56.7%––
Year-to-date average (Jan–Jul)72.5%66.8%▼ 7.9%

Cancelled flights by month

The most recent periods19 periods
PeriodCancelled flights 2025Cancelled flights 2026Change vs last year
January10▼ 100.0%
February01–
March10▼ 100.0%
April10▼ 100.0%
May00–
June10▼ 100.0%
July00–
August1––
September0––
October0–in progress
November0––
December3––
Year to date (Jan–Jul)41▼ 75.0%

By direction

GRU → MXP

Scheduled flights
625
Flights operated
622
Cancelled
3 · 0.5%
On-time departures
73.8%

MXP → GRU

Scheduled flights
627
Flights operated
618
Cancelled
9 · 1.4%
On-time departures
59.9%

GRU → MXP and MXP → GRU counted separately.

Official monthly figures

according to Eurostat · December 2024

Passengers per month

The most recent periods24 periods
PeriodPassengers 2023Passengers 2024Change vs last year
January13,73617,276▲ 25.8%
February12,60116,151▲ 28.2%
March12,37516,171▲ 30.7%
April12,92216,913▲ 30.9%
May13,90916,128▲ 16.0%
June12,68717,207▲ 35.6%
July14,39616,485▲ 14.5%
August14,13016,657▲ 17.9%
September13,43816,576▲ 23.4%
October14,02316,924▲ 20.7%
November12,78118,542▲ 45.1%
December13,52920,584▲ 52.1%
Year to date (Jan–Dec)160,527205,614▲ 28.1%

Seats offered per month

The most recent periods24 periods
PeriodSeats offered 2023Seats offered 2024Change vs last year
January14,76018,040▲ 22.2%
February13,12017,220▲ 31.3%
March13,94018,040▲ 29.4%
April13,94018,040▲ 29.4%
May14,76016,810▲ 13.9%
June13,12018,040▲ 37.5%
July14,76017,630▲ 19.4%
August14,76018,040▲ 22.2%
September13,94018,040▲ 29.4%
October14,76017,163▲ 16.3%
November13,94020,500▲ 47.1%
December13,94022,140▲ 58.8%
Year to date (Jan–Dec)169,740219,703▲ 29.4%

Load factor (calculated)

Calculated by us: passengers ÷ seats offered, both from the same source and shown on this page.

The most recent periods24 periods
PeriodLoad factor 2023Load factor 2024Change vs last year
January93.1%95.8%▲ 2.9%
February96.0%93.8%▼ 2.3%
March88.8%89.6%▲ 0.9%
April92.7%93.8%▲ 1.2%
May94.2%95.9%▲ 1.8%
June96.7%95.4%▼ 1.3%
July97.5%93.5%▼ 4.1%
August95.7%92.3%▼ 3.6%
September96.4%91.9%▼ 4.7%
October95.0%98.6%▲ 3.8%
November91.7%90.4%▼ 1.4%
December97.1%93.0%▼ 4.2%
Year-to-date average (Jan–Dec)94.6%93.7%▼ 1.0%

Monthly totals for both directions, published by Eurostat. Latest month available: December 2024. Eurostat publishes route figures about two years after the month ends, so recent months are not yet available. These are official counts from a statistics agency. The chart above is our own day-by-day count, so the two will not match exactly.

Airlines on this route

Oct 1, 2024 – Jul 31, 2026
AirlineScheduled flights Share On-time departures Cancelled
TAM Brazilian Airlines JJ 1,252 100.0% 66.9% 12

Shares are of scheduled flights in the period shown. Codeshare flights are counted once, under the operating airline.

Flight timing & delays

Historical departures, grouped by the scheduled local time at the departure airport. These are recorded outcomes, not a forecast for your flight.

Times are local to the departure airport of each flight; both directions are combined.

Every flight on this route reported to ANAC

Source: Brazil's ANAC · Oct 12, 2024 → Jul 31, 2026

Lowest average delay18:00–19:0016.8min · 621 recorded · 618 measured
Gap to highest-delay hour13.2min18:00 ↔ 13:00
Recorded flights1,252GRU–MXP

Departure hour

On-time departures Data Integrity
00:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 01:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 02:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 03:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 04:00 · Fewer than 200 measured departures · 1 recorded · 1 measured · Source: Brazil's ANAC 05:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 06:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 07:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 08:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 09:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 10:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 11:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 12:00 · 62.3% · 282 recorded · 276 measured · Source: Brazil's ANAC 13:00 · 57.4% · 336 recorded · 333 measured · Source: Brazil's ANAC 14:00 · Fewer than 200 measured departures · 2 recorded · 2 measured · Source: Brazil's ANAC 15:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 16:00 · Fewer than 200 measured departures · 1 recorded · 1 measured · Source: Brazil's ANAC 17:00 · Fewer than 200 measured departures · 1 recorded · 1 measured · Source: Brazil's ANAC 18:00 · 74.0% · 621 recorded · 618 measured · Source: Brazil's ANAC 19:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 20:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 21:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 22:00 · Fewer than 200 measured departures · 5 recorded · 5 measured · Source: Brazil's ANAC 23:00 · Fewer than 200 measured departures · 3 recorded · 3 measured · Source: Brazil's ANAC

Hover, tap or focus a point to see its value, sample and source.

Average departure delay Data Integrity
00:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 01:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 02:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 03:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 04:00 · Fewer than 200 measured departures · 1 recorded · 1 measured · Source: Brazil's ANAC 05:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 06:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 07:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 08:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 09:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 10:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 11:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 12:00 · 18.9 min · 282 recorded · 276 measured · Source: Brazil's ANAC 13:00 · 30.0 min · 336 recorded · 333 measured · Source: Brazil's ANAC 14:00 · Fewer than 200 measured departures · 2 recorded · 2 measured · Source: Brazil's ANAC 15:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 16:00 · Fewer than 200 measured departures · 1 recorded · 1 measured · Source: Brazil's ANAC 17:00 · Fewer than 200 measured departures · 1 recorded · 1 measured · Source: Brazil's ANAC 18:00 · 16.8 min · 621 recorded · 618 measured · Source: Brazil's ANAC 19:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 20:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 21:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 22:00 · Fewer than 200 measured departures · 5 recorded · 5 measured · Source: Brazil's ANAC 23:00 · Fewer than 200 measured departures · 3 recorded · 3 measured · Source: Brazil's ANAC

Hover, tap or focus a point to see its value, sample and source.

Recorded flights Data Integrity
00:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 01:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 02:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 03:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 04:00 · 1 · 1 recorded · 1 measured · Source: Brazil's ANAC 05:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 06:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 07:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 08:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 09:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 10:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 11:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 12:00 · 282 · 282 recorded · 276 measured · Source: Brazil's ANAC 13:00 · 336 · 336 recorded · 333 measured · Source: Brazil's ANAC 14:00 · 2 · 2 recorded · 2 measured · Source: Brazil's ANAC 15:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 16:00 · 1 · 1 recorded · 1 measured · Source: Brazil's ANAC 17:00 · 1 · 1 recorded · 1 measured · Source: Brazil's ANAC 18:00 · 621 · 621 recorded · 618 measured · Source: Brazil's ANAC 19:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 20:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 21:00 · No observations · 0 recorded · 0 measured · Source: Brazil's ANAC 22:00 · 5 · 5 recorded · 5 measured · Source: Brazil's ANAC 23:00 · 3 · 3 recorded · 3 measured · Source: Brazil's ANAC

Hover, tap or focus a point to see its value, sample and source.

View the figures
Departure hourOn-time departuresAverage departure delayWith departure timeRecorded flights
00:00No observations———
01:00No observations———
02:00No observations———
03:00No observations———
04:00Fewer than 200 measured departures—11
05:00No observations———
06:00No observations———
07:00No observations———
08:00No observations———
09:00No observations———
10:00No observations———
11:00No observations———
12:0062.3%18.9 min276282
13:0057.4%30.0 min333336
14:00Fewer than 200 measured departures—22
15:00No observations———
16:00Fewer than 200 measured departures—11
17:00Fewer than 200 measured departures—11
18:0074.0%16.8 min618621
19:00No observations———
20:00No observations———
21:00No observations———
22:00Fewer than 200 measured departures—55
23:00Fewer than 200 measured departures—33

Day of week

Recorded flights Data Integrity
Monday · 187 · 187 recorded · 184 measured · Source: Brazil's ANAC Tuesday · 188 · 188 recorded · 186 measured · Source: Brazil's ANAC Wednesday · 155 · 155 recorded · 153 measured · Source: Brazil's ANAC Thursday · 157 · 157 recorded · 156 measured · Source: Brazil's ANAC Friday · 186 · 186 recorded · 184 measured · Source: Brazil's ANAC Saturday · 190 · 190 recorded · 189 measured · Source: Brazil's ANAC Sunday · 189 · 189 recorded · 188 measured · Source: Brazil's ANAC

Hover, tap or focus a point to see its value, sample and source.

No bucket in this view has 200 measured departures yet. Flight counts are shown; on-time and delay charts become available when the sample is large enough.

View the figures
Day of weekOn-time departuresAverage departure delayWith departure timeRecorded flights
MondayFewer than 200 measured departures—184187
TuesdayFewer than 200 measured departures—186188
WednesdayFewer than 200 measured departures—153155
ThursdayFewer than 200 measured departures—156157
FridayFewer than 200 measured departures—184186
SaturdayFewer than 200 measured departures—189190
SundayFewer than 200 measured departures—188189

Month of year

Months combine the same calendar month across the years shown; this is a seasonal pattern, not a monthly time series.

Recorded flights Data Integrity
Jan · 115 · 115 recorded · 114 measured · Source: Brazil's ANAC Feb · 102 · 102 recorded · 101 measured · Source: Brazil's ANAC Mar · 117 · 117 recorded · 116 measured · Source: Brazil's ANAC Apr · 111 · 111 recorded · 110 measured · Source: Brazil's ANAC May · 121 · 121 recorded · 121 measured · Source: Brazil's ANAC Jun · 120 · 120 recorded · 119 measured · Source: Brazil's ANAC Jul · 124 · 124 recorded · 124 measured · Source: Brazil's ANAC Aug · 62 · 62 recorded · 61 measured · Source: Brazil's ANAC Sep · 60 · 60 recorded · 60 measured · Source: Brazil's ANAC Oct · 90 · 90 recorded · 90 measured · Source: Brazil's ANAC Nov · 113 · 113 recorded · 111 measured · Source: Brazil's ANAC Dec · 117 · 117 recorded · 113 measured · Source: Brazil's ANAC

Hover, tap or focus a point to see its value, sample and source.

No bucket in this view has 200 measured departures yet. Flight counts are shown; on-time and delay charts become available when the sample is large enough.

View the figures
Month of yearOn-time departuresAverage departure delayWith departure timeRecorded flights
JanFewer than 200 measured departures—114115
FebFewer than 200 measured departures—101102
MarFewer than 200 measured departures—116117
AprFewer than 200 measured departures—110111
MayFewer than 200 measured departures—121121
JunFewer than 200 measured departures—119120
JulFewer than 200 measured departures—124124
AugFewer than 200 measured departures—6162
SepFewer than 200 measured departures—6060
OctFewer than 200 measured departures—9090
NovFewer than 200 measured departures—111113
DecFewer than 200 measured departures—113117

Delay and on-time rates need at least 200 measured departures per bucket. Smaller samples remain visible in the flight-count chart. An empty slot means no observations, not zero flights.

Recorded outcomes

  • On time 66.2% 829
  • Delayed >15 min 32.8% 411
  • Cancelled 1.0% 12
  • Missing departure time 0.0% 0

All recorded flights with a known scheduled local time, counted once. Missing actual times are shown separately.

On time means departing no more than 15 minutes after schedule. Cancelled flights and flights missing departure times are excluded from the on-time rate and average delay.

Flight numbers on this route

2
Flight numbersBy direction DeparturesOn time
JJ8072 GRU → MXP 619 74.0%
JJ8073 MXP → GRU 618 59.6%

Flight numbers are the codes sold on tickets. On shared flights one aircraft can carry several of them. Only numbers with at least 30 flights have a page.

Monthly figures
PeriodFlights operated Change vs last yearCancelled On-time departures
July 2026 62 +0.0% 0 53.2%
June 2026 60 +1.7% 0 58.3%
May 2026 68 +28.3% 0 80.9%
April 2026 60 +20.0% 0 71.7%
March 2026 62 +14.8% 0 75.8%
February 2026 55 +19.6% 1 58.2%
January 2026 62 +19.2% 0 69.4%
December 2025 60 +13.2% 3 56.7%
November 2025 60 +17.6% 0 65.0%
October 2025 62 +121.4% 0 64.5%
September 2025 60 0 65.0%
August 2025 61 1 67.2%
July 2025 62 0 64.5%
June 2025 59 1 74.6%
May 2025 53 0 83.0%
April 2025 50 1 62.0%
March 2025 54 1 79.6%
February 2025 46 0 65.2%
January 2025 52 1 78.8%
December 2024 53 1 58.5%
November 2024 51 2 62.7%
October 2024 28 0 42.9%

How to read this chart

Loading the guide…