Are birds' nests protected by law?

, 16 May 2023
Are birds' nests protected by law?
Woodpigeon chick on nest © Glenn Norris

By Andy Fry, WildCall Officer

Yes - all wild birds, their eggs and nests are protected by law (the Wildlife and Countryside Act 1981) and it is a criminal offence, with certain exceptions, to intentionally take, damage or destroy the nest of any wild bird while it is in use or being built. This applies to all wild birds including gulls, crows, pigeons and other species sometimes referred to as pests. In certain circumstances a government licence may permit an activity that would otherwise be illegal but strict terms and conditions apply.

We’re often contacted by people concerned about hedge trimming during the bird nesting season, which generally runs from March to August inclusive. It is not illegal to trim garden hedges during the nesting season but doing so during this period risks committing an offence if nesting birds are harmed in the process. We therefore advise against it and recommend doing this kind of work later in the year, well outside the bird nesting season. For most hedges the best time to trim is in late winter, when the hedge is dormant and the birds have had a chance to eat any berries it might produce. For any genuinely urgent work that cannot be postponed, it’s important to check thoroughly for any signs of nesting birds before proceeding, such as birds carrying nesting material or food items into a hedge, bush or tree.

We’re also asked about nesting birds on the roof or under the eaves. The law does not permit any interference with their nests unless they pose a serious risk to public health or safety. This is rarely the case and while some people may consider them a nuisance, this is not sufficient reason to remove a nest. It’s worth bearing in mind that illegal interference may result in an unlimited fine, up to six months imprisonment, or both. The best solution is to wait for the birds to finish nesting then install deterrents or make repairs so that they cannot access the same nesting space again the following year. However, unless they are causing a serious issue (which is rare), we’d encourage you to allow them to return because suitable, accessible nesting locations are increasingly scarce.

Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1782900943.68760 [906] 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
1782900943.71840.0308Matched route: news/[slug:s]
1782900943.71850.0001Server address: 216.73.217.103
1782900943.71850Using master page: /templates/pages/blog/post.php
1782900943.71860Page arguments:
Array
(
    [0] => /news/are-birds-nests-protected-by-law
    [s] => are-birds-nests-protected-by-law
    [1] => are-birds-nests-protected-by-law
)
1782900943.71890.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782900943.71990.0011 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1782900943.7220.0021 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1782900943.72260.0006INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1782900943.72490.0022 [1] SELECT * FROM swt_shop_cart WHERE cartID=22480069
1782900943.72550.0006 [1] SELECT * FROM swt_shop_cart WHERE cartID=22480069
1782900943.72610.0006 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-01 10:15:00' AND saleTo>'2026-07-01 10:15:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1782900943.72750.0014 [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='are-birds-nests-protected-by-law')) 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-07-01 10:15:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1782900943.72980.0023 [1] SELECT FOUND_ROWS() AS `count`
1782900943.73030.0006 [1] SELECT * FROM swt_blog_posts WHERE postID=3072 AND postStatus='Published' AND postDateTime<='2026-07-01 10:15:00'
1782900943.73120.0009 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1782900943.7320.0008 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1782900943.73270.0006 [1] SELECT * FROM swt_categories WHERE catID=45 LIMIT 1
1782900943.73320.0005 [1] SELECT * FROM swt_categories WHERE catID=42 LIMIT 1
1782900943.73370.0005Using template: /templates/blog/post.html
1782900943.7340.0002 [162] SELECT catID, catPath FROM swt_categories
1782900943.73510.0011 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-01 10:15:00' AND postSlug='are-birds-nests-protected-by-law'
1782900943.76340.0283Using template: /templates/blog/post.html
1782900943.7640.0006 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1782900943.76610.0021Using template: /templates/pages/attributes/seo.html
1782900943.76640.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1782900943.76740.001 [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
1782900943.76870.0014 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782900943.77270.0039 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782900943.77340.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782900943.77610.0027Using template: /templates/navigation/ps_nav_template.html
1782900943.77610 [6] Using template: /templates/navigation/ps_nav_template_children.html
1782900943.77690.0008 [4] Using template: /templates/navigation/ps_nav_template_children.html
1782900943.77740.0005 [29] Using template: /templates/navigation/ps_nav_template_children.html
1782900943.78030.0028 [10] Using template: /templates/navigation/ps_nav_template_children.html
1782900943.78130.001 [7] Using template: /templates/navigation/ps_nav_template_children.html
1782900943.7820.0008 [9] Using template: /templates/navigation/ps_nav_template_children.html
1782900943.78440.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1782900943.78550.001 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1782900943.78830.0029 [1] Using template: /templates/navigation/breadcrumbs.html
1782900943.78880.0004Using template: /templates/blog/post.html
1782900943.7890.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='20' LIMIT 1
1782900943.78980.0008Using template: /templates/blog/author.html
1782900943.79010.0003 [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='are-birds-nests-protected-by-law')) 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-07-01 10:15:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1782900943.79270.0026 [1] SELECT FOUND_ROWS() AS `count`
1782900943.79320.0005 [1] Using template: /templates/blog/post.html
1782900943.79570.0025Using template: /templates/blog/comment_form.html
1782900943.79670.001 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=3072 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1782900943.8610.0643 [0] Using template: /templates/blog/comment.html
1782900943.86120.0002Using template: /templates/blog/post.html
1782900943.86150.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='20' LIMIT 1
1782900943.86240.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1782900943.86320.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1782900943.86390.0007 [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
1782900943.86670.0028 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782900943.86740.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782900943.87010.0027 [6] Using template: /templates/navigation/footer-nav.html
1782900943.8710.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782900943.87170.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782900943.87220.0005 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1782900943.87530.0031 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782900943.87590.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782900943.87850.0026 [10] Using template: /templates/navigation/footer-nav.html
1782900943.88170.0032 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1782900943.88250.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1782900943.8830.0005 [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
1782900943.88620.0031 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782900943.88680.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782900943.88940.0026 [29] Using template: /templates/navigation/footer-nav.html
1782900943.89170.0023 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782900943.89250.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782900943.89320.0007 [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
1782900943.8960.0028 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782900943.89660.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782900943.89930.0027 [10] Using template: /templates/navigation/footer-nav.html
1782900943.90040.0011Request time: 0.2157
1782900943.90040Process time: 0.2155
1782900943.90040Memory: 1.6221