
Planning the trip
How long it takes to drive around Puerto Rico
How long it takes to drive from SJU and Old San Juan to Rincón, Ponce, the Ceiba ferry, El Yunque and more, computed road by road.
Puerto Rico looks small on the map, and a day trip to the far side of it still takes most of a day. This page gives the drive, road by road, from the San Juan airport (SJU), from Old San Juan and from each part of the island where we host homes, to the towns round the coast, the other two airports, the Ceiba ferry terminal, El Yunque, the three bio bays and the beaches people ask about.
Drive times from the airport at a glance
Straight from the terminal, on a clear road:
- El YunqueEl Portal visitor centre, PR-191 · 25 miles by road
- Ceiba ferry terminalferries to Vieques and Culebra · 41 miles by road
- Ponce73 miles by road
- Rincón97 miles by road
Drive times from SJU, Old San Juan and our areas
Every place below, by car, from each starting point. Towns are measured to the town centre, beaches and bays to the road beside them, and the airports to the passenger terminal. The places are grouped by coast, nearest to the airport first.
| To | From | From our homes in | ||||||
|---|---|---|---|---|---|---|---|---|
| SJU airport | Old San Juan | Dorado | San Juan | Condado | Santurce | Carolina | Luquillo | |
| Airports | ||||||||
| San Juan airport (SJU)Luis Muñoz Marín International, Carolina | starting point | |||||||
| Ponce airport (PSE)Mercedita International | ||||||||
| Aguadilla airport (BQN)Rafael Hernández International | ||||||||
| East coast and El Yunque | ||||||||
| Loíza | ||||||||
| Río Grande | ||||||||
| Luquillo | ||||||||
| El YunqueEl Portal visitor centre, PR-191 | ||||||||
| Luquillo BeachBalneario La Monserrate | ||||||||
| Fajardo | ||||||||
| Ceiba | ||||||||
| Humacao | ||||||||
| Seven Seas BeachFajardo | ||||||||
| Laguna GrandeFajardo’s bio bay | ||||||||
| Naguabo | ||||||||
| Yabucoa | ||||||||
| Ceiba ferry terminalferries to Vieques and Culebra | ||||||||
| Maunabo | ||||||||
| South coast | ||||||||
| Salinas | ||||||||
| Guayama | ||||||||
| Patillas | ||||||||
| Santa Isabel | ||||||||
| Arroyo | ||||||||
| Juana Díaz | ||||||||
| Ponce | ||||||||
| Peñuelas | ||||||||
| Guayanilla | ||||||||
| Yauco | ||||||||
| Guánica | ||||||||
| Caña Gorda BeachGuánica | ||||||||
| Lajas | ||||||||
| La Parguerathe south coast’s bio bay, Lajas | ||||||||
| West coast | ||||||||
| Aguadilla | ||||||||
| Crash Boat BeachAguadilla | ||||||||
| Aguada | ||||||||
| Añasco | ||||||||
| Rincón | ||||||||
| Domes BeachRincón | ||||||||
| Mayagüez | ||||||||
| Cabo Rojo | ||||||||
| Boquerón BeachCabo Rojo | ||||||||
| Playa SuciaLa Playuela, Cabo Rojo | ||||||||
| North coast, west of San Juan | ||||||||
| Dorado | ||||||||
| Vega Alta | ||||||||
| Vega Baja | ||||||||
| Manatí | ||||||||
| Barceloneta | ||||||||
| Mar Chiquitabeach, Manatí | ||||||||
| Arecibo | ||||||||
| Hatillo | ||||||||
| Camuy | ||||||||
| Quebradillas | ||||||||
| Isabela | ||||||||
| Jobos BeachIsabela | ||||||||
| The mountains | ||||||||
| Utuado | ||||||||
| Jayuya | ||||||||
By car, without traffic, rounded up to the minute. Map data as of September 24, 2026; worked out September 25, 2026.
Times: our calculation on OpenStreetMap data, © OpenStreetMap contributors (ODbL)
How these times are worked out
We work every figure out ourselves, on OpenStreetMap’s map of the island’s roads, with the open-source OSRM route planner’s car rules, tuned against published drive times: a typical speed for each kind of road, a steady 88% of the posted limit where the map records one, a couple of seconds at each traffic light and a moment for each turn. Each figure is rounded up to the next minute, so it errs on the long side of what a navigation app shows on an empty road. On every trip we checked against a published drive time, the airport to Ponce, Rincón and Mayagüez among them, ours came out about the same or a little longer, never shorter.
Our areas are measured from the middle of our homes there, not from any one house. Old San Juan is measured from the middle of the old city, and the airport from the departures curb. The table is worked out again whenever the map is refreshed, about once a month.
Before you set off
- Traffic is not in the table. The main roads in and out of San Juan slow down on weekday mornings and late afternoons, so allow extra time then, and more on a Friday evening heading out of the city.
- Tolls are electronic. Many of the fastest routes use toll motorways, among them PR-22 to the west, PR-52 to the south and PR-66 and PR-53 to the east, and they are paid through the AutoExpreso system rather than in cash. Ask the rental desk how the car’s toll tag is billed; the cost guide covers the rest of a car’s running costs.
- A car is the way to see the island. Buses do not usefully connect the places in this table, and outside the metro area a rideshare is not something to count on. Our travel tips cover renting and driving.
- The islands need the ferry, and a rental car stays on the mainland. The ferry operator does not sell a vehicle ticket for a rental car; the ferry section below gives its words.
Vieques and Culebra: drive to Ceiba, then the ferry
No road reaches either island. Drive to the Ceiba ferry terminal, then cross:
Vieques
1 hour by ferry from Ceiba
“A 1-hour ferry ride between Ceiba and Vieques.” — Puerto Rico Ferry, routes and schedules, checked
The drive to the Ceiba ferry terminal
- From SJU airport
- From Old San Juan
- From our homes in Luquillo
Isabel Segunda, where the ferry docks. Also on the island: Mosquito Bay (Vieques’ bio bay).
Culebra
1 hour 30 minutes by ferry from Ceiba
“A 1-hour-and-30-minute ferry ride between Ceiba and Culebra.” — Puerto Rico Ferry, routes and schedules, checked
The drive to the Ceiba ferry terminal
- From SJU airport
- From Old San Juan
- From our homes in Luquillo
Dewey, where the ferry docks. Also on the island: Flamenco Beach.
Rental cars stay on the mainland. The operator’s answer to whether a rental car can cross: “You may not purchase a vehicle ticket for a rental car.” — Puerto Rico Ferry, frequently asked questions, checked
Small planes are the other way over. The Vieques and Culebra guide covers the flights, the beaches and which island suits your trip, and the bio bay guide the nights to plan Mosquito Bay around.
Sources
- Roads, towns, beaches and terminals: OpenStreetMap, © OpenStreetMap contributors, under the Open Database License, from Geofabrik’s extract of Puerto Rico (map data as of September 24, 2026).
- How a car moves on them: the car rules of the open-source OSRM route planner, with the share of each posted limit tuned against published drive times, run on our own computer. No routing service is asked for any figure.
- How the table was checked: against the drive times Rome2Rio publishes for trips from the airport and Old San Juan, read . Ours come out about the same to 13% longer, never shorter.
- Ferry crossings and rental cars: Puerto Rico Ferry, routes and schedules and frequently asked questions, checked September 25, 2026.
- Tolls: Wikipedia, “AutoExpreso”, read .
- Which town each place is in: the US Census Bureau’s municipio boundaries (TIGERweb).
Where each time is measured to
- San Juan airport (SJU), Luis Muñoz Marín International, Carolina: OpenStreetMap way 1395996565
- Ponce airport (PSE), Mercedita International: OpenStreetMap way 202157729
- Aguadilla airport (BQN), Rafael Hernández International: OpenStreetMap way 191661761
- Loíza: OpenStreetMap node 1902288427
- Río Grande: OpenStreetMap node 1902293022
- Luquillo: OpenStreetMap node 1902295740
- El Yunque, El Portal visitor centre, PR-191: OpenStreetMap node 5010189721, measured to the road 71 m away
- Luquillo Beach, Balneario La Monserrate: OpenStreetMap way 432711763
- Fajardo: OpenStreetMap node 1902299525
- Ceiba: OpenStreetMap node 1902381468
- Humacao: OpenStreetMap node 8443228692
- Seven Seas Beach, Fajardo: OpenStreetMap way 206437783, measured to the road 201 m away
- Laguna Grande, Fajardo’s bio bay: OpenStreetMap way 256399230, measured to the road 212 m away
- Naguabo: OpenStreetMap node 6886780208
- Yabucoa: OpenStreetMap node 1944827110
- Ceiba ferry terminal, ferries to Vieques and Culebra: OpenStreetMap node 1218322306
- Maunabo: OpenStreetMap node 1944815982
- Salinas: OpenStreetMap node 1944724850
- Guayama: OpenStreetMap node 1944794343
- Patillas: OpenStreetMap node 1944811289
- Santa Isabel: OpenStreetMap node 1944702112
- Arroyo: OpenStreetMap node 3277864736
- Juana Díaz: OpenStreetMap node 1944696526
- Ponce: OpenStreetMap node 3278462403
- Peñuelas: OpenStreetMap node 1944685068
- Guayanilla: OpenStreetMap node 1944677447
- Yauco: OpenStreetMap node 1991425167
- Guánica: OpenStreetMap node 1944635952
- Caña Gorda Beach, Guánica: OpenStreetMap way 432822524, measured to the road 60 m away
- Lajas: OpenStreetMap node 1944632616
- La Parguera, the south coast’s bio bay, Lajas: OpenStreetMap node 4304922093, measured to the road 69 m away
- Aguadilla: OpenStreetMap node 1944452153
- Crash Boat Beach, Aguadilla: OpenStreetMap way 222487999
- Aguada: OpenStreetMap node 1944564820
- Añasco: OpenStreetMap node 1944576867
- Rincón: OpenStreetMap node 1944571739
- Domes Beach, Rincón: OpenStreetMap way 77227593, measured to the road 52 m away
- Mayagüez: OpenStreetMap node 1944587067
- Cabo Rojo: OpenStreetMap node 1944602613
- Boquerón Beach, Cabo Rojo: OpenStreetMap way 425177570, measured to the road 103 m away
- Playa Sucia, La Playuela, Cabo Rojo: OpenStreetMap way 206512596, measured to the road 265 m away
- Dorado: OpenStreetMap node 1944406183
- Vega Alta: OpenStreetMap node 1944411041
- Vega Baja: OpenStreetMap node 1944413557
- Manatí: OpenStreetMap node 1944419494
- Barceloneta: OpenStreetMap node 1944423721
- Mar Chiquita, beach, Manatí: OpenStreetMap way 433275347, measured to the road 62 m away
- Arecibo: OpenStreetMap node 1944426456
- Hatillo: OpenStreetMap node 1944430591
- Camuy: OpenStreetMap node 1944432263
- Quebradillas: OpenStreetMap node 1944435446
- Isabela: OpenStreetMap node 1944444868
- Jobos Beach, Isabela: OpenStreetMap way 222488546, measured to the road 72 m away
- Utuado: OpenStreetMap node 1946350988
- Jayuya: OpenStreetMap node 1946340678
- Vieques, Isabel Segunda, where the ferry docks: OpenStreetMap node 1946602965
- Mosquito Bay, Vieques’ bio bay: OpenStreetMap node 368381539
- Culebra, Dewey, where the ferry docks: OpenStreetMap node 1946595440
- Flamenco Beach, Culebra: OpenStreetMap way 426695438
Where to stay
Homes near everything in this guide
Keep reading



