Pets allowed
Not Allowed
Elevation Gain
789.00 ft (240.49 m)
Trail type
3.51 mi (5.65 km)
Please respect the outdoors by practicing Leave No Trace. Learn more about how to apply the principles of Leave No Trace on your next outdoor adventure here.

Tomales Bay State Park is a complex of trails located within Point Reyes National Seashore that is relatively small but packed with a stunning variety of flower and plant life. Examples of berry shrubs that grow here include huckleberry, coffeeberry, gooseberry, and blackberry. Additionally the park is teeming with oak, madrone, fern, pine and bay laurel. Please abide by the park rules and regulations in regard to collecting. You may collect only certain berries up to two quarts per person per day (

There are four beaches that line this side of the peninsula within the park: Heart's Desire, Pebble Beach, Shell Beach and Indian Beach are all quite small with Heart's Desire being the most popular beach due to accessibility. Popular actitivies at Heart's Desire include picnicking, swimming, paddleboating and sunbathing. on sunny weekend days it is best to arrive early in the morning since parking fills up quickly. Supplemental parking is available nearby. Also, please note that there is an $8 vehicle fee for day-use. 
This hike features two beaches: Heart's Desire and Indian Beach. It is an easy and relaxing loop starting at Heart's Desire that also includes a detour out and back to Indian Beach. 

Start at the Heart's Desire parking lot. Make a right to start on the Johnstone Trail. Very shortly you will come across a picnic table area. You may keep going on the Johnstone Trail and loop around the opposite direction or you can head up to the Jepson Trail and start your loop there. The Jepson Trail is a steady, nearly 1 mile climb to Shallow Beach Rd. Continue onto the Jepson Trail which transitions into the Johnstone Trail. Follow the Johnstone Trail all the way back down. If you have additional time, you can make a right instead which takes you another 3 miles to the secluded Shell Beach, but if you wanted to continue the loop, head back down to Heart's Desire. Once you've reached the beach, make your way to Indian Beach Nature Trail. This is a short and educational family-friendly trail which includes a few informational panels along the way. At Indian Beach, you can cross the wooden bridge and explore the Miwok tipis before going back to the parking lot.

Logistics + Planning

Preferable season(s)




Parking Pass

$8.00 day use

Open Year-round



Family friendly. Beach access.


No overnight parking.

Trailhead Elevation

9.00 ft (2.74 m)

Highest point

450.00 ft (137.16 m)


Family friendly

Typically multi-day


Permit required



Nearby Adventures

Nearby Lodging + Camping

Point Reyes National Seashore
Point Reyes National Seashore
Point Reyes National Seashore


Have updates, photos, alerts, or just want to leave a comment?
Sign In and share them.