Location: South Africa » Kwazulu Natal » North Coast » Dolphin Coast » Durban » Umhlanga Rocks

Umhlanga the gem of the KwaZulu Natal north coast

Umhlanga on the KwaZulu Natal north coast is one of the most popular tourist destinations in South Africa. Safe swimming in the warm Indian Ocean.

Umhlanga is one of the most popular beach resort destinations on the east coast of South Africa. The bathing is safe and the warm Indian Ocean waters wash one of the most beautiful coastlines in the world.

Situated just north of Durban with the golden sandy beaches that stretch northwards for more than 200 kilometres, all the way to the spectacular Greater St Lucia Wetland Park. Inland endless fields of sugarcane give way to the tumbling area of the 1000 Hills.

Attractions & Activities in Umhlanga

Umhlanga's excellent swimming and bathing conditions make it a popular destination even for Durban. Umhlanga's main beach is one of the Zulu Kingdom's seven Blue Flag beaches.

Umhlanga Lagoon Nature Reserve is a  small, scenic reserve preserving coastal forest. The remains of a Stone Age sea shell midden can be seen at the lagoon mouth. The Umhlanga Lagoon Nature Trail is a delightful hour-and-a-half trail on a well marked path. Wander through stunning coastal forest on boardwalks that cross the Ohlange River on its way to the lagoon, buttressed by dunes.

The Umhlanga Lighthouse was completed on November 24, 1954 and has since become an area landmark. The circular concrete tower, painted white with a red band at the top, stands 21m above the beach and has a focal plane height of 25m. The fixed red light enable a ship waiting to anchor in the outer anchorage to monitor its position if the red light can be seen, it suggests the ships anchors have probably dragged and is too close to shore.

The Sharks Board. watch a spectatcular half hour audio-visual presentation, capturing, the drama of the ocean and the energy of the Sharks Board staff as they carry out their daily servicing of shark nets, or watch a shark dissection. Visit the display hall and view a large variety of lifelike replicas of sharks, fish and rays.

Gateway Theatre of Shopping. This impressive structure, situated alongside the N2 highway in Umhlanga Rocks, houses a vast array of shops, cinemas and restaurants plus a huge standing wave known as DRex, a mega skate park designed by an international expert, the highest climbing wall imaginable and a go-kart track, putt-putt course and a challenging 4x4 track.

Sibaya Casino is only 20 minutes drive away North of Umhlanga. They offer gaming, live entertainment, conferencing, accommodation and food. There is also a cultural village.

Umhlanga Tourism Information Centre is situated in Lighthouse Mall, Chartwell Drive, Umhlanga.

Umhlanga is a Zulu name meaning ‘Place of Reeds’, referring to reeds washed down to the beach from the mouth of the Ohlanga River (‘Reedy’) 3 km north of the resort town. This unspoilt paradise, situated only 18 km north of Durban, is situated on a stretch of picturesque coastline, boasting excellent beaches, tidal pools and cosy rocky coves. Umhlanga Rocks is a popular holiday destination for surfers, paddle surfers, ski boaters and sun seekers. The area was part of the coastal dune forest system where wild animals once roamed. In 1969 a cottage named Oyster Lodge was built on the site of the present Oyster Box Hotel where tea and scones were served. In 1820 Umhlanga was divided into plots and it was an Irishman, Marcus McCausland, who played the leading role in the development of the village hotel, which is now the Umhlanga Rocks Hotel. Umhlanga has since developed into a prime up market seaside holiday resort with an impressive array of luxury hotels, bed and breakfasts, a protected beach and tourist activities.


How to get there - Durban 18 km

Average Temperatures – Summer 30°c; Winter 21°c

Banks – Absa, Fnb, Nbs, Nedbank

Rivers - Ohlanga



Hambanathi was originally a railway station and Tongaat – formed the name of a mission station established by Captain Allan Gardiner. The name means ‘go with us’ in Zulu.


Umhlanga Lagoon Nature Reserve

Hawaan Nature Reserve

A private forest reserve, containing a wide variety of rare tree species, forest birds, fish eagles and all sorts of marine birds.


Annual Events

Umhlanga Festival – March

Ski boat Festival (400 boats) – April

Granny’s Pool

Originally a sheltered bathing area formed by two natural rock outcrops, the area became the natural launching site for the first ski boats off Umhlanga – today is is used by local fisherman and the Natal Sharks Board. Maritime life surrounding Granny’s Pool is fairly prolific.

The Midden

To the north along the beach, a walk of approximately 1,5 km brings one of the Umhlanga Lagoon and river mouth, where the remnants of an early iron age midden (rubbish dump) can be found. The Midden and artifacts date back as far as 600 AD.

The Umhlanga Ponds

One of the best bird watching areas on the Natal North Coast is located at the Municipal Sewage Disposal Works.




Lagoon Nature Trail

Leading through the dune forest, across the lagoon and onto the beach, this trail makes an interesting outing for bird lovers.


Ballechin B&B

Ballechin is a homestay B&B in a quiet crecent, with magnificent ocean views. Confortable en suite rooms with sea or garden views. Prolific birdlife; delicious SA breakfasts; five minutes drive to shops, over 30 quality restaurants and popular bathing beaches. Springboard to game parks and many Zulu cultural areas. Rates from R150 pp pn sharing. Children half price.

Blue Ridge Guest House B&B

Blue Ridge is set in a lush tropical garden with swimming pool and an abundance of birdlife, overlooking the Indian Ocean. Offers superior luxury, en suite clean and spacious rooms, all with breathtaking sea views, equipped with tea / coffee machines, DSTV, ice water and fruit basket. Ideal for local, foreign, leisure and business travelers. Situated close to beaches, restaurants and shopping centres.

Fleetwood on Sea (Umhlanga)

Elegant spacious beachfront self catering two bed roomed,Cache file contents".$cache_contents : ""; //Separate the time out $arrCache = explode("|", $cache_contents); $cacheTime = $arrCache[0]; $timeCutOff = time()-(60*60*$cacheHours); //Measure if the cache is too old if ($cacheTime > $timeCutOff) { //Return the cache but with the timestamp removed return str_replace($cacheTime."|", "", $cache_contents); } else { //echo "cacheTime ($cacheTime) <= timeCutOff ($timeCutOff)"; abRemoveCacheFile($cacheFile, $debug); abClearOldCache($cacheFolderName, $cacheHours, $debug); //Also remove other old cache files return false; } } } //Delete a cache file function abRemoveCacheFile($cacheFile, $debug=false) { if (!@unlink($cacheFile)) { echo ($debug) ? "

  • Error: Could not remove cache file: ".$cacheFile : ""; return false; } else { echo ($debug) ? "
  • Successfully removed the cache file: ".$cacheFile : ""; return true; } } //Loads links from the automaticbacklinks web site function abGetLinks($page, $accountCode, $v, $s, $debug=false) { //Make the URL $url = ""; $url = $url."?a=".$accountCode; $url = $url."&v=".$v; $url = $url."&s=".$s; $url = $url."&page=".urlencode($page); echo ($debug) ? "
  • Making call to AB: ".$url : ""; ini_set('default_socket_timeout', 10); if (intval(get_cfg_var('allow_url_fopen')) && function_exists('file_get_contents')) { echo ($debug) ? "
  • Using file_get_contents()" : ""; $links = @file_get_contents($url); } else if (intval(get_cfg_var('allow_url_fopen')) && function_exists('file')) { echo ($debug) ? "
  • Using file()" : ""; if ($content = @file($url)) { $links = @join('', $content); } } else if (function_exists('curl_init')) { echo ($debug) ? "
  • Using cURL()" : ""; $ch = curl_init ($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $links = curl_exec($ch); curl_close ($ch); } else { echo ($debug) ? "
  • Error: no method available to fetch links!" : ""; return false; } return $links; } //remove ab_cc etc. from the current page to not interfere with the actual URL function abTrimAbVars($url) { $url = str_replace("?ab_cc=1", "", $url); $url = str_replace("&ab_cc=1", "", $url); $url = str_replace("?ab_debug=8dac1be9c9bec7d0b0fca5412b482796", "", $url); $url = str_replace("&ab_debug=8dac1be9c9bec7d0b0fca5412b482796", "", $url); return $url; } //Get page function abGetPageUrl($debug=false) { $query = ""; $protocol = (isset($_SERVER['HTTPS'])) ? "https://" : "http://"; $host = $_SERVER['HTTP_HOST']; if ($_SERVER["REDIRECT_URL"]) { //Redirect if (isset($_SERVER['REDIRECT_SCRIPT_URI'])) { //Use URI - it is complete $page = $_SERVER['REDIRECT_SCRIPT_URI']; } else { //Use file and query $file = $_SERVER["REDIRECT_URL"]; if (isset($_SERVER['REDIRECT_QUERY_STRING'])) { $query = "?".$_SERVER['REDIRECT_QUERY_STRING']; } } } else { //No redirect if (isset($_SERVER['SCRIPT_URI'])) { //Use URI - it is complete $page = $_SERVER['SCRIPT_URI']; } else if (isset($_SERVER['REQUEST_URI'])) { //Use URI if (substr($_SERVER['REQUEST_URI'],0,4) == "http") { //Request URI has host in it $page = $_SERVER['REQUEST_URI']; } else { //Request uri lacks host $page = $protocol.$host.$_SERVER['REQUEST_URI']; } } else { $file = $_SERVER['SCRIPT_NAME']; if (isset($_SERVER['QUERY_STRING'])) { $query = "?".$_SERVER['QUERY_STRING']; } } } if (!$page) { $page = $protocol.$host.$file.$query; } $page = abTrimAbVars($page); echo ($debug) ? "
  • This page is reported as: ".$page : ""; return $page; } ?>