Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 511
Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 522
Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 533
Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 549
Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::count($key = null) should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 566
Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 582
Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 598
Deprecated: Return type of Travelpayouts\components\base\cache\Cache::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/base/cache/Cache.php on line 422
Deprecated: Return type of Travelpayouts\components\base\cache\Cache::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/base/cache/Cache.php on line 433
Deprecated: Return type of Travelpayouts\components\base\cache\Cache::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/base/cache/Cache.php on line 446
Deprecated: Return type of Travelpayouts\components\base\cache\Cache::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/base/cache/Cache.php on line 456
Deprecated: Return type of Travelpayouts\Vendor\Moment\Moment::createFromFormat($format, $time, $timezone = null, ?Travelpayouts\Vendor\Moment\FormatsInterface $formatsInterface = null) should either be compatible with DateTime::createFromFormat(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTime|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-fightbulc/moment/src/Moment.php on line 94
Deprecated: Return type of Travelpayouts\Vendor\Moment\Moment::format($format = null, $formatsInterface = null) should either be compatible with DateTime::format(string $format): string, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-fightbulc/moment/src/Moment.php on line 241
Deprecated: Return type of Travelpayouts\Vendor\Moment\Moment::setTimezone($timezone) should either be compatible with DateTime::setTimezone(DateTimeZone $timezone): DateTime, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-fightbulc/moment/src/Moment.php on line 215
Deprecated: Return type of Travelpayouts\Vendor\Moment\Moment::setTime($hour, $minute, $second = null, $microseconds = null) should either be compatible with DateTime::setTime(int $hour, int $minute, int $second = 0, int $microsecond = 0): DateTime, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-fightbulc/moment/src/Moment.php on line 695
Deprecated: Return type of Travelpayouts\Vendor\Moment\Moment::setDate($year, $month, $day) should either be compatible with DateTime::setDate(int $year, int $month, int $day): DateTime, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-fightbulc/moment/src/Moment.php on line 594
Deprecated: Return type of Travelpayouts\components\Model::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/Model.php on line 588
Deprecated: Return type of Travelpayouts\components\Model::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/Model.php on line 601
Deprecated: Return type of Travelpayouts\components\Model::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/Model.php on line 613
Deprecated: Return type of Travelpayouts\components\Model::offsetSet($offset, $item) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/Model.php on line 625
Deprecated: Return type of Travelpayouts\components\Model::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/Model.php on line 636
Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Admin/Standalone.php on line 95
Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64
Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64
Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64
Deprecated: filter_var(): Passing null to parameter #3 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 75
Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64
Deprecated: filter_var(): Passing null to parameter #3 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 75
Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Cookie/Jar.php on line 63
Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Cookie/Jar.php on line 73
Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Cookie/Jar.php on line 89
Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Cookie/Jar.php on line 102
Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Cookie/Jar.php on line 111
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82
Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91
Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64
Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64
Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64 (2021) Photos of Playa Herradura Costa Rica (Central Pacific) From Our Personal Collection - Explore Tamarindo Costa Rica
Get the Costa Rica info you need by browsing our article’s TABLE OF CONTENTS:
Playa Herradura photos
South end of Playa Herradura
Pebbles and rocks on Playa Herradura
Nikki; Playa Herradura
Playa Herradura fast facts
English name: Herradura Beach
Distance from San Jose: 95km (approximately 2 hours)
Closest Town: Jaco (large town)
Beach Status: Public beach
Playa Herradura beach details
Sand, shade, scenery, and unique features
Playa Herradura is a long, crescent beach comprised of compact, brown sand that’s often speckled with stones and pebbles. It curves around Bahia Herradura (Herradura Bay), a sparkling, sometimes turquoise-tinged body of water where yachts and fishing boats bob over waves. Vegetation-covered headlands to the north and the south bookend the beach, helping it feel private. A few tall palm trees back the beach and divide it from the beach access road and a parking lot.
Crowds and noise
Playa Herradura receives a small but steady number of visitors for two reasons: because of its proximity to the beach town of Jaco, and because the beach is commonly accessed by guests of Los Suenos, a popular accommodation positioned at the north end of the beach (to learn more about Los Suenos, see our related blog post Costa Rica Luxury Travel: All-Inclusive Resorts And Non-All-Inclusive Resorts In Costa Rica). Though you’ll surely find some locals spread out around the central and southern sections of the beach, noise is generally kept to a minimum.
Cleanliness and Ecological Blue Flag rating
Costa Rica’s Programa Bandera Azul Ecológica (Ecological Blue Flag Program) promotes sustainability and public health (to learn more about the program, see our related blog post: Costa Rica’s Ecological Blue Flag Program: Safe and Sustainable Beaches). Every year, several beaches in Costa Rica compete for top honors, which are bestowed annually according to strict criteria that span the topics of water quality, beach sanitation and garbage disposal, the treatment of industrial waste, beach security, and environmental education. Beaches that participate in the program and meet 90-100% of the eligibility criteria achieve a 1-star rating. Additional efforts invite beaches to achieve 2-star, 3-star, 4-star, or 5-star ratings (5 stars is the highest rating).
In 2019, Playa Herradura participated in the Programa Bandera Azul Ecológica and received a 1-star rating. You may see the achievement displayed at Playa Herradura on a sign that reads Playa Galardonada (Award-Winning Beach).
Development at Playa Playa Herradura
Hotels, restaurants, tours, bathrooms, etc.
Facilities of Los Suenosare positioned at the north end of Playa Herradura, a short walk inland from the water. Along the central stretch of the beach are a few informal restaurants and a makeshift parking lot. Apart from the local eateries and the lot, Playa Herradura is primarily void of development.
Playa Herradura safety
Swimming and water safety
Swimming is allowed at Playa Herradura, where the water is generally calmer than the water at Playa Jaco and Playa Hermosa just down the coast. This being said, the yachts and fishing boats that come and go from Bahia Herradura sometimes churn up strong waves, so watch out for these. If you’d prefer a calmer place to swim, gentler water can be accessed just up the coast at Playa Mantas and Playa Blanca. As always, exercise caution in and around the water, especially if you plan to visit with children or inexperienced swimmers.
General safety
Never bring items of value with you to the beach and always keep an eye on your belongings. Remember to lock your rental car if you have one. Do not visit the beach before sunrise or after sunset.
Playa Herradura location and road conditions
Access to Playa Herradura and 4×4 requirement
Playa Herradura is located on Costa Rica’s Pacific coast. It sits along Calle Central (Central Street), a side road that juts off Highway 36 to the southwest at Plaza Herradura (a popular shopping center), leads directly to Playa Herradura and the makeshift parking lot, then bends sharply to the south and parallels the beach. You may see the side road signed for Los Suenos. A 4×4 vehicle isn’t required to reach Playa Herradura.
Map of Playa Herradura Costa Rica
Parking at Playa Herradura
There is no official parking at Playa Herradura, though steps from the beach is a makeshift lot. You’ll find the lot along Calle Central where the road bends sharply to the south. There is room for several vehicles.
Alternatively, you can park along the section of Calle Central that parallels Playa Herradura. These spots are commonly used by people visiting one of the restaurants in the area. If you choose to park in one of these spaces during your trip to the beach, ordering food or a drink at one of the establishments is the polite thing to do.
Best reason(s) to visit Playa Herradura
If you plan to stay at Los Suenos, the most obvious reason to visit Playa Herradura is to take advantage of the beach that’s in front of the resort. If you do not intend to stay at the resort, an alternative reason to visit Playa Herradura is to spend time at a beach in the Jaco area that’s void of Playa Jaco’s crowds. If you wish to station yourself in Jaco to take advantage of the town’s offerings, mainly its social vibe and active nightlife, you’ll find a calmer beach environment at Playa Herradura.
Beach hopping from Playa Herradura (or alternative beach options in the region)