Die Duiwenhoksrivier (soms Duivenhoksrivier) loop deur die dorp Heidelberg, Wes-Kaap aan die Tuinroete. Hierdie rivier ontspring op 'n hoogte van 'n 1 500 m bo seespieël in die Boosmansbos-wildernisgebied en die Grootvadersbosch-natuurreservaat op die suidelike hellings van die Langeberge. Na 'n loop van 83 km mond die rivier in die Indiese Oseaan by Puntjie, St. Sebastiaanbaai uit. Die koers van die hele rivier is rofweg suidwaarts en dit loop aan die oostekant van Heidelberg en wes by Vermaaklikheid verby. Dit het 'n opvanggebied van nagenoeg 'n duisend km² en geniet 'n hoë reënval. In die rivier se boloop sluit die Buffelsbos-, Palm- en Keurriviere en in die benedeloop die Kransrivier aan. Die natuurlike vloei is egter onreëlmatig. Sedert die bou van die Duivenhoksdam het die besproeiingsboerdery op die oewers toegeneem. By die mond van die rivier is die Duiwenhoksmond privaat natuurreservaat. Dit is daar 16 km van die mond van die Breederivier. kapstylhuise Duivenhoksdam Standard Encyclopaedia of Southern Africa, deel 4. Kaapstad: Nasou, 1971. ISBN 0-625-00320-9 topografiese kaarte van Suid-Afrika