Chalk streams and knuckerholes

, 01 January 2025
Chalk streams and knuckerholes
Botany Bay West Sussex where we have been working with the landowner to protect and enhance their chalk stream

Fran Southgate

Nature Recovery Manager

In Sussex, the incredible geology means that our porous greensand and chalk bedrock filter rainfall as it percolates into the ground, until it comes to rest in huge, natural underground reservoirs. This water then comes bubbling out of the ground as crystal clear streams and springs, which supply our wetlands with amazing water. These chalk and greensand springs are one of the key reasons that we have an amazing array of nationally and internationally rare wetland wildlife in Sussex Wildlife Trust Nature reserves and across the stunning natural landscape of the South Downs. 

At Offham in East Sussex, chalk springs well up through large holes straight from the aquifer

A chalk stream is a watercourse which flows across chalk bedrock or is influenced by chalk geology. They are usually fed by seasonal springs flowing from chalk and often have 'winterbourne' stretches in their headwaters which run dry, or partially dry in late summer to the spring (Lewes has the Winterbourne Stream running through it, for example). 

Sussex chalk streams have a unique character, with steeply sloping, fast flowing streams associated with ancient woodland and woody debris. We have ‘knuckerholes’ or deep holes which go directly down into the underlying aquifer. There are sites in Sussex where the water continually upwells from the knuckerholes, which is amazing to watch. The holes are big enough to fit cows down and there are many Sussex folklore tales of ‘dragons’ which live in knuckerholes and which pop up from the underworld to devour things!

Lag Wood in Hassocks, which runs through Ancient Woodland

South Downs chalk streams are different from classic chalk rivers, such as Hampshire’s River Itchen. Each chalk stream has its source much higher in the hills, and the gradient of the streams are very steep. Sussex chalk streams often occur in small gulleys, which are more wooded than other chalk rivers and streams. This results in unusual features including:

  • mini chalk waterfalls which form when chalk water upwellings ‘calcify’ in the air creating an amazing little concrete-type substance called tufa
  • dense shade, which means that there is naturally less vegetation cover
  • a lack of typical chalk river plants like Water Crowfoot – which is more natural
  • diverse stream channel because of natural flow restrictions such as tree roots
  • woody debris is common in the channel and it influences the stream flow
  • the substrate (stream bed) is less frequently made up of flints and mobile gravels
The purity and temperature of the chalk water allows specialist plant and animal species to thrive

In the past, perennial (permanently flowing) chalk streams were incredibly important for communities and industries in Sussex. The streams drove mills which provided food and power, they provided clean drinking water and irrigation, and many were used to farm Watercress, sustain healthy fish populations and to produce other edible wetland plants. Nowadays many of them have suffered from degradation through pollution, urban and gardenisation, the introduction of invasive species, the lowering of water tables, and the creation of man-made artificial structures which block natural stream flows and fish passage.

Most chalk streams and springs have a unique community of aquatic insects and invertebrates. Their clear flowing water creates extremely good habitat for fish such as Brown Trout. The fascinating Hildenbrandia, a red encrusting alga, the moss Cratoneuron filicinum, and the liverwort Pellia endiviifolia are a sign of strong springs. Some of the characteristic plants you would expect to find in chalk winterbournes are Watercress and Water Speedwell. Some plants you might expect to find in perennial chalk streams are Blunt-fruited Water-starwort, Lesser Water-parsnip and Brook Water Crowfoot. 

Water Vole eating Watercress © Derek Middleton

Water Voles and other birds, animals and insects thrive in these streams. They are fascinating and abundant little ecosystems about which we still know relatively little.

Leave a comment

Comments

  • Allan Pentecost:

    Hello. I’m a ‘tufa’ expert. I have old data on tufa in the Sussex chalk streams but do you have any modern sites for it? If so then please let me know.
    Thanks, Allan.
    ps the ‘standard work’ on tufa is my book titled ‘Travertine’ (2005) published by Springer

    24 Feb 2026 08:53:00

  • Sussex Wildlife Trust:

    Thank you. Not that we're aware of. 

  • Fleur Hemmings:

    Wow, beautiful article and so good to hear of the knucker holes that cascade into chalk streams! I did not know this, I have only visited ‘dew pond’ knucker holes like the one at Binstead. Thank you for this vital information which is just as precious as a scientific fact, (as any serious witch would appreciate).

    02 May 2026 08:57:00

Time Δ Debug Message - Perch Runway 3.2
1787460657.33870 [907] SELECT p.pagePath, pr.routePattern, pr.routeRegExp, p.pageTemplate, pr.routeOrder, s.settingValue AS siteOffline FROM swt_pages_staging p LEFT JOIN swt_page_routes pr ON p.pageID=pr.pageID LEFT JOIN swt_settings s ON s.settingID='siteOffline' UNION SELECT NULL AS pagePath, pr2.routePattern, pr2.routeRegExp, pr2.templatePath AS pageTemplate, pr2.routeOrder, NULL AS siteOffline FROM swt_page_routes pr2 WHERE templateID!=0 ORDER BY routeOrder ASC, pagePath ASC
1787460657.36950.0307Matched route: news/[slug:s]
1787460657.36960.0002Server address: 216.73.217.165
1787460657.36970Using master page: /templates/pages/blog/post.php
1787460657.36970Page arguments:
Array
(
    [0] => /news/chalk-streams-and-knuckerholes
    [s] => chalk-streams-and-knuckerholes
    [1] => chalk-streams-and-knuckerholes
)
1787460657.36990.0002 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787460657.37090.001 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1787460659.24771.8768 [1] SELECT * FROM swt_shop_cart WHERE cartID=24398065
1787460659.2490.0013 [1] SELECT * FROM swt_shop_cart WHERE cartID=24398065
1787460659.250.001 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-08-23 04:51:00' AND saleTo>'2026-08-23 04:51:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1787460659.25180.0018 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='chalk-streams-and-knuckerholes')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-08-23 04:51:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1787460659.25770.0059 [1] SELECT FOUND_ROWS() AS `count`
1787460659.25880.0011 [1] SELECT * FROM swt_blog_posts WHERE postID=3614 AND postStatus='Published' AND postDateTime<='2026-08-23 04:51:00'
1787460659.26010.0013 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1787460659.26110.0011 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1787460659.26210.001 [1] SELECT * FROM swt_categories WHERE catID=65 LIMIT 1
1787460659.26310.001 [1] SELECT * FROM swt_categories WHERE catID=29 LIMIT 1
1787460659.26370.0006 [1] SELECT * FROM swt_categories WHERE catID=66 LIMIT 1
1787460659.26460.0009Using template: /templates/blog/post.html
1787460659.2650.0003 [162] SELECT catID, catPath FROM swt_categories
1787460659.26620.0013 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-08-23 04:51:00' AND postSlug='chalk-streams-and-knuckerholes'
1787460659.29730.031Using template: /templates/blog/post.html
1787460659.29780.0005 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1787460659.30010.0023Using template: /templates/pages/attributes/seo.html
1787460659.30040.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1787460659.30170.0013 [nil] SELECT * FROM ( SELECT idx.itemID, c.regionID, idx.pageID, c.itemJSON, idx2.indexValue as sortval FROM swt_content_index idx JOIN swt_content_items c ON idx.itemID=c.itemID AND idx.itemRev=c.itemRev AND idx.regionID=c.regionID JOIN swt_content_index idx2 ON idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev AND idx2.indexKey='_order' WHERE ((idx.regionID=104 AND idx.itemRev=0)) AND idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev ) as tbl GROUP BY itemID, pageID, itemJSON, sortval, regionID ORDER BY sortval ASC
1787460659.30350.0018 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787460659.30830.0047 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787460659.30910.0009 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787460659.31240.0033Using template: /templates/navigation/ps_nav_template.html
1787460659.31250.0001 [6] Using template: /templates/navigation/ps_nav_template_children.html
1787460659.31330.0008 [4] Using template: /templates/navigation/ps_nav_template_children.html
1787460659.31370.0005 [29] Using template: /templates/navigation/ps_nav_template_children.html
1787460659.31630.0026 [10] Using template: /templates/navigation/ps_nav_template_children.html
1787460659.31730.001 [7] Using template: /templates/navigation/ps_nav_template_children.html
1787460659.3180.0007 [9] Using template: /templates/navigation/ps_nav_template_children.html
1787460659.32040.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1787460659.32150.0011 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1787460659.32490.0034 [1] Using template: /templates/navigation/breadcrumbs.html
1787460659.32550.0006Using template: /templates/blog/post.html
1787460659.32570.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1787460659.3270.0013Using template: /templates/blog/author.html
1787460659.32750.0004 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='chalk-streams-and-knuckerholes')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-08-23 04:51:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1787460659.3310.0035 [1] SELECT FOUND_ROWS() AS `count`
1787460659.33170.0007 [1] Using template: /templates/blog/post.html
1787460659.33430.0026Using template: /templates/blog/comment_form.html
1787460659.33550.0013 [2] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=3614 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1787460659.42170.0862 [2] Using template: /templates/blog/comment.html
1787460659.42270.001Using template: /templates/blog/post.html
1787460659.42290.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1787460659.42440.0015 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1787460659.42530.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1787460659.42620.0009 [7] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-002%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787460659.42960.0033 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787460659.43030.0008 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787460659.43320.0029 [6] Using template: /templates/navigation/footer-nav.html
1787460659.43420.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1787460659.43530.0011 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1787460659.43610.0008 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1787460659.43960.0035 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787460659.44040.0009 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787460659.44320.0028 [10] Using template: /templates/navigation/footer-nav.html
1787460659.4470.0037 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1787460659.44790.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1787460659.44860.0006 [30] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-004%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787460659.45230.0037 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787460659.45330.001 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787460659.45630.003 [29] Using template: /templates/navigation/footer-nav.html
1787460659.45840.0021 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1787460659.45970.0013 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1787460659.46050.0008 [11] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787460659.46460.0041 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787460659.46550.0009 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787460659.46850.0031 [10] Using template: /templates/navigation/footer-nav.html
1787460659.470.0015Request time: 2.1325
1787460659.470Process time: 2.1324
1787460659.470Memory: 1.6607