Five facts on Starling murmurations

, 05 March 2026
Five facts on Starling murmurations
Starling murmuration © Lloyd Lane

By Kerry Williams

Communications Officer - Conservation

A murmur-what?

Prior to roosting for the night, groups of Starlings gradually gather in flight. They create a cloud of birds, turning in unison, creating shapes in the sky like billowing smoke. Groups can reach vast numbers; in some cases, hundreds of thousands. The name ‘murmuration’ comes from the sound of the constant rustle of wings, like the murmur of a crowd.

Why?

One reason is safety from predators, including the Peregrine. When your nemesis is the world's fastest animal, it’s wise to stick together. Starlings rotate position within the flock, so no-one is at risk on the edge for long; a bit like a penguin huddle. Congregating creates warmth whilst roosting in the colder months and is an opportunity to exchange information on feeding and roosting spots.

Where?

You can witness this display at several Sussex locations, including Brighton Pier. Arrive around half an hour before sunset in time to greet the first birds. Once the sun goes down, the Starlings disappear into their roost under the pier; like someone whipping away a tablecloth. Walking back along the boards, you can hear the birds under your feet, scuffling over the best perch.

When?

Murmurations are typically seen from September to February. Starlings are partial migrants, so whilst Starlings are a common bird to see all year round, others migrate from Europe for the autumn and winter months, joining the residents to create these gatherings.

But...how?

Despite continued study, how Starlings murmurate remains a mystery. There is research into the birds’ speedy reaction times to avoid collision, and thoughts that they communicate signals during. But like the best awe-inspiring phenomena, we don’t really know. Maybe that’s why it’s so magical.

Video © Kerry Williams (Starling footage © Kai Hilton)
Leave a comment

Comments

  • Martin Thomas:

    Unless we will someday be able to communicate with birds we’ll never know perhaps it’s a magical secret

    14 May 2025 21:21:00

Time Δ Debug Message - Perch Runway 3.2
1783490378.69420 [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
1783490378.7270.0328Matched route: news/[slug:s]
1783490378.72710.0001Server address: 216.73.217.142
1783490378.72720Using master page: /templates/pages/blog/post.php
1783490378.72720Page arguments:
Array
(
    [0] => /news/five-facts-on-starling-murmurations
    [s] => five-facts-on-starling-murmurations
    [1] => five-facts-on-starling-murmurations
)
1783490378.72740.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783490378.72860.0011 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1783490378.73060.0021 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1783490378.73120.0006INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1783490378.73380.0026 [1] SELECT * FROM swt_shop_cart WHERE cartID=22768272
1783490378.73440.0006 [1] SELECT * FROM swt_shop_cart WHERE cartID=22768272
1783490378.7350.0006 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-08 05:59:00' AND saleTo>'2026-07-08 05:59:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1783490378.73630.0013 [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='five-facts-on-starling-murmurations')) 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-08 05:59:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1783490378.73960.0033 [1] SELECT FOUND_ROWS() AS `count`
1783490378.74030.0007 [1] SELECT * FROM swt_blog_posts WHERE postID=3518 AND postStatus='Published' AND postDateTime<='2026-07-08 05:59:00'
1783490378.74110.0008 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1783490378.74180.0006 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1783490378.74240.0007 [1] SELECT * FROM swt_categories WHERE catID=267 LIMIT 1
1783490378.7430.0005 [1] SELECT * FROM swt_categories WHERE catID=45 LIMIT 1
1783490378.74370.0007Using template: /templates/blog/post.html
1783490378.74380.0002 [162] SELECT catID, catPath FROM swt_categories
1783490378.74490.001 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-08 05:59:00' AND postSlug='five-facts-on-starling-murmurations'
1783490378.76560.0207Using template: /templates/blog/post.html
1783490378.76620.0006 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1783490378.76790.0017Using template: /templates/pages/attributes/seo.html
1783490378.76810.0002 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1783490378.76890.0008 [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
1783490378.77020.0013 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783490378.77320.003 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783490378.77370.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783490378.77580.0021Using template: /templates/navigation/ps_nav_template.html
1783490378.77590 [6] Using template: /templates/navigation/ps_nav_template_children.html
1783490378.77660.0007 [4] Using template: /templates/navigation/ps_nav_template_children.html
1783490378.7770.0004 [29] Using template: /templates/navigation/ps_nav_template_children.html
1783490378.77990.0029 [10] Using template: /templates/navigation/ps_nav_template_children.html
1783490378.7810.0011 [7] Using template: /templates/navigation/ps_nav_template_children.html
1783490378.78170.0007 [9] Using template: /templates/navigation/ps_nav_template_children.html
1783490378.78420.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1783490378.78520.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
1783490378.78750.0023 [1] Using template: /templates/navigation/breadcrumbs.html
1783490378.7880.0005Using template: /templates/blog/post.html
1783490378.78820.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='30' LIMIT 1
1783490378.78890.0007Using template: /templates/blog/author.html
1783490378.78930.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='five-facts-on-starling-murmurations')) 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-08 05:59:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1783490378.79150.0022 [1] SELECT FOUND_ROWS() AS `count`
1783490378.7920.0005 [1] Using template: /templates/blog/post.html
1783490378.79530.0033Using template: /templates/blog/comment_form.html
1783490378.79630.001 [1] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=3518 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1783490378.85030.054 [1] Using template: /templates/blog/comment.html
1783490378.85080.0005Using template: /templates/blog/post.html
1783490378.85090.0001 [1] SELECT * FROM swt_blog_authors WHERE authorID='30' LIMIT 1
1783490378.85170.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1783490378.85230.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1783490378.85280.0005 [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
1783490378.85480.002 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783490378.85530.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783490378.85720.0018 [6] Using template: /templates/navigation/footer-nav.html
1783490378.8580.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783490378.85860.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783490378.85910.0006 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1783490378.86150.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783490378.8620.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783490378.86390.0019 [10] Using template: /templates/navigation/footer-nav.html
1783490378.86730.0035 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1783490378.86810.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1783490378.86860.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
1783490378.8710.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783490378.87180.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783490378.87370.002 [29] Using template: /templates/navigation/footer-nav.html
1783490378.8760.0022 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783490378.87660.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783490378.87710.0005 [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
1783490378.87920.0021 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783490378.87980.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783490378.88160.0018 [10] Using template: /templates/navigation/footer-nav.html
1783490378.88270.0011Request time: 0.1896
1783490378.88270Process time: 0.1895
1783490378.88270Memory: 1.6222