Deprecated: version_compare(): Passing null to parameter #1 ($version1) of type string is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/gravityforms/includes/addon/class-gf-addon.php on line 5706 Deprecated: Return type of GF_Field::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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 84 Deprecated: Return type of GF_Field::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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 90 Deprecated: Return type of GF_Field::offsetSet($offset, $data) 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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 99 Deprecated: Return type of GF_Field::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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 108 Deprecated: Creation of dynamic property ACF::$fields is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/fields.php on line 138 Deprecated: Creation of dynamic property acf_loop::$loops is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/loop.php on line 28 Deprecated: Creation of dynamic property ACF::$loop is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/loop.php on line 269 Deprecated: Creation of dynamic property ACF::$revisions is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/revisions.php on line 397 Deprecated: Creation of dynamic property acf_validation::$errors is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/validation.php on line 28 Deprecated: Creation of dynamic property ACF::$validation is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/validation.php on line 214 Deprecated: Creation of dynamic property acf_form_customizer::$preview_values is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-customizer.php on line 28 Deprecated: Creation of dynamic property acf_form_customizer::$preview_fields is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-customizer.php on line 29 Deprecated: Creation of dynamic property acf_form_customizer::$preview_errors is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-customizer.php on line 30 Deprecated: Creation of dynamic property ACF::$form_front is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-front.php on line 598 Deprecated: Creation of dynamic property acf_form_widget::$preview_values is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-widget.php on line 34 Deprecated: Creation of dynamic property acf_form_widget::$preview_reference is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-widget.php on line 35 Deprecated: Creation of dynamic property acf_form_widget::$preview_errors is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-widget.php on line 36 Deprecated: Return type of WC_DateTime::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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-wc-datetime.php on line 57 Deprecated: Return type of WC_DateTime::getOffset() should either be compatible with DateTime::getOffset(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-wc-datetime.php on line 47 Deprecated: Return type of WC_DateTime::getTimestamp() should either be compatible with DateTime::getTimestamp(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-wc-datetime.php on line 68 Deprecated: Return type of WC_Meta_Data::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-wc-meta-data.php on line 50 Deprecated: Creation of dynamic property WooCommerce::$api is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-woocommerce.php on line 471 Deprecated: Creation of dynamic property Imagify\Job\MediaOptimization::$query_url is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/imagify/inc/classes/class-imagify-abstract-background-process.php on line 80 Deprecated: Creation of dynamic property WC_Countries::$countries is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-wc-countries.php on line 51 Deprecated: Creation of dynamic property acf_field_oembed::$width is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-oembed.php on line 31 Deprecated: Creation of dynamic property acf_field_oembed::$height is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-oembed.php on line 32 Deprecated: Creation of dynamic property acf_field_google_map::$default_values is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-google-map.php on line 33 Deprecated: Creation of dynamic property acf_field__group::$have_rows is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-group.php on line 31 Deprecated: Creation of dynamic property acf_field_clone::$cloning is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-clone.php on line 34 Deprecated: Creation of dynamic property acf_field_clone::$have_rows is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-clone.php on line 35 Deprecated: Creation of dynamic property WC_Cart::$coupon_discount_totals is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/legacy/class-wc-legacy-cart.php on line 227 Deprecated: Creation of dynamic property WC_Cart::$coupon_discount_tax_totals is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/legacy/class-wc-legacy-cart.php on line 227 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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.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 /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

Hermanus is renowned as the best land based whale watching destination in the world
Aside from being the best place to view whales on the planet, Hermanus is renowned for its wild beauty, artisanal food producers and its proximity to the Hemel-en-Aarde wine route. The town was originally called Hermanuspietersfontein, but the name was shortened because it was too long for the postal service.
Full of quaint boutiques, markets and galleries, the town is a popular South African tourist destination for local and international visitors. The town is a scenic 90 minute drive from Cape Town.
The pure air, pristine beaches and sheer tranquillity are a captivating combination in themselves, but for those looking for an energetic Hermanus holiday, a huge selection of outdoor pursuits is available.
There is plenty to do in Hermanus for the whole family including surfing, fishing, quad-biking, mussel-picking, kite-surfing, golf, tennis, hiking, cycling and horse riding, as well as the more convivial pursuit of wine tasting in the Hemel-en-Aarde Valley.
The town’s fascinating history as a fishing village can be traced by visiting the Old Harbour museum, where old fishing boats and reconstructed fishermen’s shacks are on display. And for the more adventurous, explore the rich flora and fauna of the Fernkloof Nature Reserve with numerous hiking and mountain biking trails.
Over 1100 different plant species have been collected and identified within the Fernkloof Nature Reserve, an area of only 15 square kilometres. This makes it one of the six floral kingdoms of the world and compares well with the UK’s total number of 1500 species.
Looking out from the terrace at Birkenhead House, two of the finest Hermanus beaches can be seen just a few steps away. The Hermanus beach on the left as you face the ocean is Voëlklip, (‘bird rock’ in Afrikaans) which lends is ideal for swimming and sunbathing. The beach on the right is Nanny’s or Kamma Bay. The team at Birkenhead House will pack a picnic basket for you complete with beach bats and balls to take to the beach for a relaxed day on the sands.
Grotto beach is the longest strip of white sand in Hermanus and has been awarded the prestigious Blue Flag Status. This award requires a high standard of cleanliness, environmental protection and rehabilitation, full-time lifeguards and security. Grotto beach in Hermanus lies to the East of Birkenhead House, an easy ten-minute walk away along the world-renowned cliff path.
Hermanus weather is moderate all year round. In peak summer season, from December to February, temperatures can climb as high as 34°C, but average at a pleasant 23°C.
During the winter months of June, July, and August, Hermanus has frequent rain and some chilly evenings, with lows of 10°C and an average temperature of 15°C – ideal if you plan to stay indoors and snuggle up by the fire enjoying some of the local Pinot Noirs. Generally, however, this season has many sunny and warm days.
January
19°/ 26°C
Average min.max temp
9mm
Average Rainfall
Summer
February
20°/ 26°C
Average min.max temp
9mm
Average Rainfall
Summer
March
18°/ 25°C
Average min.max temp
23mm
Average Rainfall
Summer
April
16°/ 22°C
Average min.max temp
30mm
Average Rainfall
Autumn
May
13°/ 21°C
Average min.max temp
34mm
Average Rainfall
Autumn
June
10°/ 18°C
Average min.max temp
35mm
Average Rainfall
Winter
July
9°/ 18°C
Average min.max temp
50mm
Average Rainfall
Winter
August
10°/ 19°C
Average min.max temp
50mm
Average Rainfall
Winter
September
11°/ 20°C
Average min.max temp
30mm
Average Rainfall
Spring
October
14°/ 21°C
Average min.max temp
29mm
Average Rainfall
Spring
November
16°/ 23°C
Average min.max temp
24mm
Average Rainfall
Spring
December
18°/ 25°C
Average min.max temp
14mm
Average Rainfall
Spring