Starling Murmurations

, 14 November 2017
Starling Murmurations
Starling murmuration © Alan MacKenzie

By Charlotte Owen

WildCall Officer

A murmuration of starlings is one of the natural world’s most impressive spectacles, eagerly anticipated, relatively easy to see and yet intriguingly mysterious, since we still don’t fully understand exactly how this fascinating phenomenon is achieved.

We do know why they do it, and it’s mostly about safety in numbers. Starlings are sociable birds and during the day they feed in small flocks scattered throughout the landscape. As the late afternoon light starts to fade, these flocks will regroup and head back to the communal winter roost site, where packing in tightly will help them to keep warm overnight. As more and more birds arrive, the flocks merge into a mesmerising murmuration that can contain thousands of individuals all swooping and diving in perfect unison. The incredible aerial display is maintained as the birds circle and swirl above the roost site, often over sheltered woodlands and reedbeds but also urban buildings and industrial structures, until eventually an invisible signal triggers the descent and everyone piles in for the night. The practical function of this deliberately dazzling behaviour is self-defence - a huge crowd of noisy birds that regularly returns to the same roost is an obvious target for hungry predators, but it’s much harder to pick out a single bird from a shape-shifting flock of thousands.

As to how starlings manage to achieve such amazingly co-ordinated flight, there’s a lot going on at once. Thanks to a reaction time of less than 100 milliseconds, each bird can make near-instant adjustments to their flight path. By constantly monitoring and matching the movements of their neighbours, directional information is rapidly and accurately transferred throughout the flock, maintaining cohesion. At the same time, the birds are attempting to sustain optimal flock density, gauged by the amount and angle of light that reaches their eyes, while also jostling for the safest position at the centre of the flock and trying to avoid being exposed to danger at the edges. The result is a synchronised swarm that not even a peregrine, the world’s fastest bird, can break - a truly extraordinary feat, and yet they make it seem so effortless.

Leave a comment

Comments

  • Tom Sykes:

    I’m always amazed by Starlings at this time of year. I love watching them as they fly over my garden and land in masses on the roofs in the evening before it’s dark.

    25 Aug 2018 17:19:00

  • henry messett:

    Greetings.

    I am emailing if you could suggest best places to see starling murmurations in Sussex, and when are the best times for viewing.

    Thanking you for your reply, I am, Henry Messett

    21 Aug 2019 18:32:00

  • Emma Chaplin:

    Brighton seafront is definitely one of the best places to look out for starling murmurations. They tend to make more use of Palace Pier and the Marina these days rather than West Pier, which now offers less shelter. Eastbourne Pier is another good location and other coastal towns including Bognor, Chichester and Hastings can occasionally host magnificent displays too.

    Murmurations are a winter phenomenon and usually start to happen in around November, lasting into February and sometimes March. Numbers are likely to be greatest during colder weather, when the birds really need to pack in tightly to keep warm overnight. Try to turn up an hour before dusk and you will get to see the flocks build up slowly from just a handful of birds to potentially thousands.

    22 Aug 2019 13:02:01

  • John Kenny:

    Please please please!
    Where can I sees murmuration in sussex or surrey?
    Don’t want to die without seeing one.

    09 Dec 2023 15:53:00

  • Sussex Wildlife Trust:

    Hi John, From late October to March, depending on weather. Try visiting Brighton or Eastbourne seafront about half an hour before sunset, ideally on a calm day, and you’ll be treated to Starling murmuration - one of nature’s most spectacular shows

  • Geraldine Pictor:

    I’ve never seen a starling murmuration. We do get starlings in our garden on feeders from time to time. We seem to get them for a while and then they disappear for several weeks before reappearing. We’ve also had them nesting under our eaves. We should make an effort to go to the Somerset levels to see a murmuration as this is the nearest best place to us in West Wiltshire.

    03 Mar 2024 19:01:00

  • Sylvia Dinham:

    We would like to know if the starling murmeration at Brighton Pier is likely to happen the 26th-29th January 2026 please while we are staying in Brighton?

    07 Jan 2026 09:00:00

  • Sussex Wildlife Trust:

    Hi Sylvia, the Starling murmurations are still ongoing and January is a good time to head to the pier to try and see them! It is quite reliable, but as with all wildlife wonders sometimes it just doesn't happen and we're not sure why. It's definitely worth a trip to the pier during your stay as it is likely to be happening. Make sure you get there around an hour before sunset. Hope you see them!

Time Δ Debug Message - Perch Runway 3.2
1783523437.01510 [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
1783523437.05040.0353Matched route: news/[slug:s]
1783523437.05050.0001Server address: 216.73.216.55
1783523437.05050Using master page: /templates/pages/blog/post.php
1783523437.05050Page arguments:
Array
(
    [0] => /news/starling-murmurations
    [s] => starling-murmurations
    [1] => starling-murmurations
)
1783523437.05080.0002 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523437.05180.0011 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1783523437.05390.002 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1783523437.05440.0005INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1783523437.05630.0019 [1] SELECT * FROM swt_shop_cart WHERE cartID=22786526
1783523437.05680.0005 [1] SELECT * FROM swt_shop_cart WHERE cartID=22786526
1783523437.05740.0006 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-08 15:10:00' AND saleTo>'2026-07-08 15:10:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1783523437.05870.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='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 15:10:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1783523437.06220.0034 [1] SELECT FOUND_ROWS() AS `count`
1783523437.06270.0005 [1] SELECT * FROM swt_blog_posts WHERE postID=1454 AND postStatus='Published' AND postDateTime<='2026-07-08 15:10:00'
1783523437.06360.0009 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1783523437.06420.0007 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1783523437.06480.0005 [1] SELECT * FROM swt_categories WHERE catID=181 LIMIT 1
1783523437.06520.0005 [1] SELECT * FROM swt_categories WHERE catID=45 LIMIT 1
1783523437.06580.0006Using template: /templates/blog/post.html
1783523437.0660.0002 [162] SELECT catID, catPath FROM swt_categories
1783523437.06680.0009 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-08 15:10:00' AND postSlug='starling-murmurations'
1783523437.09390.0271Using template: /templates/blog/post.html
1783523437.09460.0006 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1783523437.09630.0018Using template: /templates/pages/attributes/seo.html
1783523437.09660.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1783523437.09740.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
1783523437.0990.0016 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783523437.10290.0039 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523437.10360.0008 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783523437.10640.0027Using template: /templates/navigation/ps_nav_template.html
1783523437.10640 [6] Using template: /templates/navigation/ps_nav_template_children.html
1783523437.10720.0008 [4] Using template: /templates/navigation/ps_nav_template_children.html
1783523437.10760.0004 [29] Using template: /templates/navigation/ps_nav_template_children.html
1783523437.11030.0027 [10] Using template: /templates/navigation/ps_nav_template_children.html
1783523437.11130.001 [7] Using template: /templates/navigation/ps_nav_template_children.html
1783523437.11180.0005 [9] Using template: /templates/navigation/ps_nav_template_children.html
1783523437.11410.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1783523437.11510.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
1783523437.1180.0029 [1] Using template: /templates/navigation/breadcrumbs.html
1783523437.11870.0007Using template: /templates/blog/post.html
1783523437.1190.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1783523437.11970.0007Using template: /templates/blog/author.html
1783523437.120.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='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 15:10:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1783523437.12240.0024 [1] SELECT FOUND_ROWS() AS `count`
1783523437.12290.0004 [1] Using template: /templates/blog/post.html
1783523437.12510.0022Using template: /templates/blog/comment_form.html
1783523437.12640.0013 [6] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=1454 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1783523437.190.0636 [6] Using template: /templates/blog/comment.html
1783523437.19160.0017Using template: /templates/blog/post.html
1783523437.19180.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1783523437.19260.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1783523437.19560.003 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1783523437.19630.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
1783523437.19920.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523437.20160.0024 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783523437.20420.0026 [6] Using template: /templates/navigation/footer-nav.html
1783523437.20530.0011 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783523437.20650.0012 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783523437.2070.0005 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1783523437.210.0031 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523437.220.01 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783523437.22230.0023 [10] Using template: /templates/navigation/footer-nav.html
1783523437.22430.0019 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1783523437.22530.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1783523437.22580.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
1783523437.22830.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523437.22890.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783523437.2310.0021 [29] Using template: /templates/navigation/footer-nav.html
1783523437.23320.0022 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783523437.23410.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783523437.23480.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
1783523437.23860.0038 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783523437.23930.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783523437.24230.0029 [10] Using template: /templates/navigation/footer-nav.html
1783523437.24420.002Request time: 0.2308
1783523437.24430Process time: 0.2306
1783523437.24430Memory: 1.6221