Update May 21, 2021: This article originally included Kelly Point Park. According to Mark Ross, community and media relations for Portland Parks & Rec, “the waters offshore contain known hazards such as volatile river conditions where the Willamette and Columbia Rivers intersect [as well as] the presence of steep and abrupt drop-offs where one could sink into clutching mud.” In the interest of public safety, Kelly Point Park has been removed from this list of swimming holes.
Now that we’ve all had a generous taste of good weather and sunshine here in Portland, it’s probably a good time to plan a river trip. Here are some of some of the greatest and least crowded swimming holes in Portland. Some offer diving opportunities, while others are ideal for lounging. All in all, Portland has a perfect swimming hole for everyone.
Sellwood Riverfront Park (1221 SE Oaks Park Way, Portland, OR)
The Sellwood Riverfront Park is sandwiched between the Willamette River and the springwater corridor. Walk through the off-leash dog park area to the dock or follow the trail to the long stretch of beach, both of which provide visitors with many spots to relax. This great spot is about a 15-minute drive from downtown Portland, making it a quick and easy place to visit for some sun or a swim. If you’re traveling by bike or foot from downtown, you can take the springwater corridor from OMSI to Sellwood Riverfront Park. For drivers, there’s a free parking lot and additional street parking for visitors.
Hawthorne Docks/The Holman Dock (Willamette River Greenway Trail, Portland, OR)
One of Portland’s most popular urban swimming spots, the Holman Dock, is located on the Willamette River next to the Hawthorne Bridge. This is the most central of all the locations on this list, and is only around a 20-minute walk or a five minute drive from PSU. Although there’s limited room at this swimming spot, it’s a great place to view the downtown cityscape and have a quick dip.
Just Outside of Portland:
Oxbow Regional Park (3010 SE Oxbow Parkway, Gresham, OR)
Just a short 30-minute drive from downtown Portland, Oxbow Regional Park offers an excellent riverfront beach on the Sandy River, and is a popular spot for swimming, picnicking, floating and fly fishing. There are several beach areas in the park. If you’re okay with a short hike, park at the boat launch and follow the trail through the amphitheater and past the campgrounds. You should be able to follow the path down to a more secluded beach. A $5 entry fee that doubles as a parking pass is required to enter the park.
Walton Beach, Sauvie Island (38798 NW Reeder Road, Portland, OR)
Located on Sauvie Island and about a 30–40 minute drive from downtown Portland, Walton Beach is a popular spot to lounge and swim. The beach is ideal for people who are looking to have a picnic or lounge in the sun all day and maybe take a quick dip in the water. There are no spots for cliff jumping. There’s a parking lot that fills quickly on the weekends, and a parking pass is required. The parking pass is available for purchase at the general store at the base of the bridge as you cross the river channel onto Sauvie Island. A daily pass is $10; an annual permit is $30.
Glenn Otto Community Park (1102 E Historic Columbia River Highway, Troutdale, OR)
Glenn Otto Community Park is located on the Sandy River just outside of Troutdale. This family-friendly spot is around a 30-minute drive from downtown Portland. At Glenn Otto, you’ll find a nice beach area that has ample space for spreading out. There are some shallow sections in the water and deeper spots with rocks for small jumps. This spot is ideal for just about any kind of river lover. A word of warning, however: it can fill up quickly on the weekend.
If you check out this spot, definitely stop at the Sugar Pine Drive-In, which is located in the parking lot. Sugar Pine offers a variety of sandwiches and salads, but the real winner is the soft serve. They have delicious dairy-free options as well.
High Rocks (25 82nd Drive, Gladstone, OR)
If you’re looking for a place to cliff jump, High Rocks is the spot for you. This urban swimming spot on the Clackamas River is just around 30 minutes from downtown Portland. The river is quite deep here, making it perfect for jumping off the rocks surrounding the water. Lifeguards are on duty at the park from Memorial Day to Labor Day.
Rooster Rock (Corbett, OR)
Rooter rock is about 22 miles from Portland in the direction of the Columbia River Gorge. It’s on the Columbia River and is a popular spot for windsurfing, kayaking, fishing and nude sunbathing. There are two beaches, one where clothing is required and one clothing-optional, hidden away from the park’s central area. Rooster Rock has lots of space to spread out and take in the gorgeous views of the Gorge.
Collins Beach – Sauvie Island (NW Reeder Road, Portland, OR)
Collins Beach is just past the aforementioned Walton Beach, also on Sauvie Island. This beach is clothing-optional and has been popular since at least the 1970s. It’s a small beach, about one mile long, and is often less crowded than the other beaches on Sauvie Island. Similar to Walton Beach, you must purchase a parking pass to park. The parking pass is available for purchase at the general store at the base of the bridge after you cross the river channel onto Sauvie Island. A daily pass is $10; an annual permit is $30.