São Paulo airport transfers compared
What's the best way to get from a São Paulo airport into the city?
It depends entirely on which of the three airports you land at. From GRU, a private transfer or bus (40-90+ minutes) is most reliable. From Congonhas, already inside the city, a short taxi or ride app (15-40 minutes) works well. From Viracopos, near Campinas, budget 75-120+ minutes and strongly consider a pre-booked private transfer given the distance.
São Paulo’s three airports each demand a different transfer strategy, and conflating them is one of the more common planning mistakes visitors make on a first trip. GRU (Guarulhos) is the international gateway, roughly 25 km out; Congonhas (CGH) sits genuinely inside the city and handles mostly domestic shuttle routes; Viracopos (VCP), near Campinas, is nearly 100 km away and used mainly by low-cost carriers. This guide puts all three side by side so you can plan the right transfer for whichever airport your specific flights actually use.
| Where | GRU ~25 km, Congonhas inside the city, Viracopos ~99 km from centre |
| Cost | R$60-450 (~US$11-85) depending on airport and transfer type |
| Time needed | 15 minutes (Congonhas) to 2+ hours (Viracopos, rush hour) |
| Getting there | No metro/train to any of the three; private transfer, bus or ride app |
| Best time | Outside 7-10am and 5-8pm for any road-based transfer |
Why São Paulo has three airports at all
Understanding the division of labour between GRU, Congonhas and Viracopos helps explain why transfer strategy varies so much between them. GRU took over as the primary international gateway once Congonhas, hemmed in by the growing city around it, could no longer safely expand its shorter runway to handle the largest long-haul aircraft. Viracopos, further out near Campinas, developed separately as a cargo-first airport that gradually absorbed passenger traffic as budget carriers sought lower operating costs. The result is a three-airport system that’s genuinely more complex than most cities of comparable size, and one that rewards visitors who take the time to understand which airport actually serves their specific flight.
Know your airport before you plan
The single most useful thing you can do before arranging any transfer is confirm exactly which airport code is on your ticket — GRU, CGH or VCP — since all three can appear under a generic “flights to São Paulo” search, and the transfer strategy for each is genuinely different. Check this before booking accommodation location too, since a hotel that’s a quick hop from Congonhas might be a much longer trip from Viracopos. It takes under a minute to check and can save real time and money once you’re actually planning transfers.
GRU (Guarulhos): the international gateway
GRU handles nearly all long-haul international arrivals and sits roughly 25 km northeast of the centre, with transfer times ranging from 40 minutes outside rush hour to 90+ minutes during the 7-10am or 5-8pm windows, and it’s the airport the large majority of first-time visitors will use. A one-way transfer from GRU airport is the most predictable option for a first arrival, with a fixed price agreed before you land. The Guarulhos GRU airport guide covers this airport in full depth, including terminal-specific details and layover planning.
Congonhas (CGH): inside the city
Congonhas is genuinely central, close to Moema, Vila Olímpia and Itaim Bibi, making it by far the fastest of the three to reach — typically 15-40 minutes depending on traffic and your specific starting point, and the easiest of the three airports to treat casually rather than as a major logistics event. It handles mostly domestic routes, especially the frequent São Paulo-Rio de Janeiro shuttle. A private Congonhas airport transfer is a straightforward, low-stress option given the short distance involved. The Congonhas CGH airport guide has the full picture, including how it compares for domestic connections.
Viracopos (VCP): the distant low-cost option
Viracopos sits near Campinas, roughly 99 km from central São Paulo — genuinely far enough that it functions more like a separate city’s airport than a São Paulo airport in the usual sense, and it’s worth double-checking before booking a flight that looks unusually cheap for a “São Paulo” route. Transfer times run 75-120+ minutes depending on traffic, and given the distance, a pre-booked private transfer is worth the premium over navigating public transit or hoping for an available ride-app driver for such a long fare. A private Viracopos airport transfer removes the uncertainty. The Viracopos VCP airport guide covers whether a cheaper VCP fare is actually worth the extra transfer time and cost for your specific trip length.
Connecting between São Paulo’s three airports
If your itinerary involves an international arrival at GRU followed by a domestic connection through Congonhas, or any other combination of the three, this deserves careful planning — there’s no direct transit link between any of them, and a same-day cross-city transfer during rush hour can easily consume 60-90 minutes or more. A private transfer from Guarulhos airport to the city centre illustrates the kind of dedicated, tracked-flight transport worth arranging for exactly this kind of connection, rather than assuming a same-day connection will simply work itself out. Whenever possible, build a full extra day into your itinerary around a multi-airport connection rather than a same-day dash between two of the three.
Comparing all three airports at a glance
| Distance | Typical transfer time | Best transfer option | |
|---|---|---|---|
| GRU (Guarulhos) | ~25 km | 40-90+ minutes | Private transfer or bus |
| Congonhas (CGH) | Inside the city | 15-40 minutes | Ride app or private transfer |
| Viracopos (VCP) | ~99 km | 75-120+ minutes | Pre-booked private transfer |
Choosing accommodation with your airport in mind
It’s worth thinking about your accommodation location relative to your specific arrival and departure airports before booking, rather than after. A hotel in Jardins or Itaim Bibi works well for both a GRU arrival and a Congonhas departure, keeping both transfers reasonable. If your itinerary is unusually airport-heavy — multiple domestic connections through Congonhas, for instance — staying somewhere in Moema or Vila Olímpia, genuinely close to that airport, can shave real time off each transfer across a longer trip. The where to stay in São Paulo guide covers neighbourhood choice in more depth, including this exact consideration.
Group and family transfers
For families or groups of four or more, a private transfer often becomes the more cost-effective choice per person compared to multiple ride-app cars, on top of the convenience of travelling together with everyone’s luggage in one vehicle. This is particularly worth considering for a GRU or Viracopos arrival after a long flight, when keeping a tired group together and moving as one unit matters more than it might on a short domestic hop through Congonhas. If you have a genuine layover of several hours rather than a straight transfer into the city, the what to do on a São Paulo layover guide shows how to combine the two into one fixed-itinerary booking.
Private transfer versus ride app versus bus
A private transfer wins on predictability — a fixed price agreed in advance, a driver tracking your flight for delays, and no need to navigate an unfamiliar pickup zone with luggage after a long flight. It costs more than a ride app or bus, but for a first arrival, a group, or a long-haul flight where you’re already tired, that predictability is worth paying for. Ride apps work well for shorter, more familiar trips, particularly from Congonhas, but pricing surges during rush hour and rain, and pickup logistics at a large airport like GRU add friction. Buses are the budget option across all three airports, reliable on cost but slower and less flexible, especially with substantial luggage.
Currency and connectivity across all three airports
Currency exchange rates airside are consistently worse than in the city at all three airports, so it’s worth changing only a small amount for immediate needs and relying on ATMs or the city’s card-friendly payment culture for the rest, a pattern that holds true regardless of which of the three airports you land at. Connectivity varies more between the airports than you’d expect — GRU and Congonhas both have reasonable free wifi in arrivals, while Viracopos’ coverage is more limited given its smaller scale. Setting up an eSIM before departure removes this variability entirely, letting you coordinate a pickup or check traffic conditions the moment you land regardless of which of the three airports you’re using. The eSIM and internet in Brazil guide and money in Brazil guide cover both in more depth.
Booking ahead versus arranging on arrival
For GRU and Viracopos specifically, booking a private transfer before you land is worth doing given the distance and the value of a guaranteed pickup after a long flight — arranging transport cold in an unfamiliar arrivals hall adds real stress to an already long travel day. For Congonhas, given the short distance, arranging a ride app or taxi on arrival is usually fine without advance booking, though a pre-booked transfer remains the smoother option if you’re travelling with a group or heavy luggage.
What catches visitors off guard
The biggest recurring mistake is assuming all “São Paulo” flights land at the same airport — always check the specific code on your ticket. The second is underestimating GRU and Viracopos transfer times during rush hour, since a route that looks like 45 minutes on a map can genuinely stretch past 90. And the third is assuming Congonhas’ central location means it’s connected to the metro — it isn’t, despite sitting inside the city. A fourth, subtler mistake is booking a tight same-day connection between two of the three airports without accounting for the road transfer between them, which has no shortcut regardless of how close the airports look on a map.
Frequently asked questions about São Paulo airport transfers
Which São Paulo airport is closest to the city centre?
Congonhas (CGH), genuinely inside the city near Moema and Itaim Bibi, with transfer times of 15-40 minutes. GRU and Viracopos both sit considerably further out, and neither is a reasonable walking or short-transit distance from the centre.
Do any of São Paulo’s airports have a direct metro or train connection?
No — none of the three airports connect directly to the metro. All transfers rely on road transport: private transfer, bus or ride app.
How much should I budget for an airport transfer?
Roughly R$60-150 for Congonhas, R$100-220 for GRU, and R$250-450 for Viracopos, all for a private transfer; ride apps and buses cost less but with more variable timing and, for Viracopos specifically, less reliable driver availability given the distance.
Is it cheaper to use a ride app than a private transfer?
Usually, yes, outside surge periods — but a private transfer’s fixed, pre-agreed price and flight tracking offer predictability that a ride app can’t always match, especially at GRU’s larger, more complex arrivals zone.
How do I know which airport my flight actually uses?
Check the three-letter airport code on your ticket: GRU (Guarulhos), CGH (Congonhas), or VCP (Viracopos). Don’t rely on a generic “São Paulo” label in a flight search.
What if I need to connect between two of the airports on the same day?
Build in a generous buffer — there’s no direct transit link between any pair, and cross-city road transfers during rush hour can take well over an hour. A pre-booked private transfer for this specific leg reduces the risk, and where your schedule allows it, an extra buffer day beats a tight same-day connection.
Is it worth pre-booking a transfer, or can I arrange one on arrival?
For GRU and Viracopos, pre-booking is worth it given the distance and the value of a guaranteed, tracked pickup. For Congonhas, arranging on arrival is usually fine given the short distance involved.
Do transfer prices vary by time of day?
Private transfer prices are typically fixed regardless of time, which is part of their appeal; ride app prices vary significantly with surge pricing during rush hour and rain.
Is it worth choosing accommodation based on which airport I’m flying into?
For a multi-airport itinerary, yes — a central location like Jardins or Itaim Bibi keeps both a GRU transfer and a Congonhas connection reasonable, while a specific airport-adjacent stay only makes sense for an unusually airport-heavy trip with several domestic connections.
Are group or family transfers meaningfully different from a solo booking?
Mainly in cost efficiency — a single private vehicle for four or more people often beats multiple ride-app cars on price per person, plus the convenience of keeping luggage and the group together after a long flight, which matters more than the modest cost difference for most families.
Accessibility across the three airports
Mobility needs change the calculus between the three airports in ways worth planning around specifically. GRU, as the larger, newer international hub, has the most developed accessibility infrastructure — wheelchair assistance, accessible restrooms and lifts are standard, but the terminal is also large, meaning genuinely long distances between gate, immigration and the transfer pickup zone, so requesting wheelchair assistance in advance through your airline is worth doing rather than assuming it can be arranged smoothly on the day. Congonhas, being smaller and more compact, generally means shorter distances to cover on foot or by wheelchair between arrival and pickup, which is one more small advantage on top of its already-short transfer time into the city. Viracopos’ more basic, cargo-heritage terminal has less consistently modern accessibility infrastructure than GRU, and given the long transfer that follows, booking a private transfer with an accessible vehicle confirmed in advance matters more here than at either of the other two airports, where a standard vehicle and a shorter ride leave less room for the trip to go wrong. Whichever airport you’re using, a private transfer generally makes the most sense for anyone with mobility needs, since it removes the uncertainty of navigating a bus stop, a ride-app pickup zone, or an unfamiliar terminal layout without dedicated assistance.
How rain and holidays change transfer times
The times quoted throughout this guide assume ordinary traffic conditions, and São Paulo’s two big disruptors — heavy rain and holiday travel — both push real transfer times well past the ranges given above. A serious downpour, common during the December-March summer storm season, slows traffic across the whole road network simultaneously, and a GRU transfer that’s normally 40-90 minutes can stretch toward two hours if a storm hits during rush hour specifically. Holiday periods behave differently but just as disruptively: Christmas, New Year and Carnival see a surge of both outbound Brazilian holidaymakers and returning residents moving through all three airports at once, and the roads leading to and from them absorb a proportional surge in traffic, particularly around GRU given its role as the main international gateway. If your arrival or departure falls during one of these windows, build in extra buffer time beyond the standard estimates in this guide, and lean toward a private transfer with real-time flight tracking over a fixed-schedule bus, since a tracked private driver can adjust to a delayed flight in a way a scheduled bus departure simply can’t.
Building this into your trip
Getting your airport transfer strategy right for your specific arrival and departure airports is worth sorting out before you land, not after. The getting around São Paulo guide covers the wider transport picture once you’re in the city, and the individual GRU, Congonhas and Viracopos guides go deep on each airport’s specific logistics. For a first-time visitor mapping out an entire trip, the three days in São Paulo itinerary shows how a realistic arrival transfer fits into a tightly planned first day.
Transport passes & transfers on GetYourGuide
Verified deep-linked GetYourGuide tours. Book through these links and we earn a small commission at no cost to you.
