Species of the day: Bullfinch

, 19 May 2020
Species of the day: Bullfinch
Bullfinch male © Roger Wilmshurst

By James Duncan

Learning and Engagement Officer

There can surely be few sights more wonderful in a British hedgerow or garden than that of a beautifully resplendent Bullfinch (Pyrrhula pyrrhula). The male is a strikingly handsome bird, its glossy plumage a cross between colourful flamboyance and restrained besuited attire. Though rather eye-catching, the Bullfinch is also an unusual bird in its sheer rotundness. It looks eminently 'neckless', with a big head and stumpy, bulbous beak. It certainly appears somewhat 'front heavy' and it's quite conceivable this relates to its name - Bullfinch, as in 'bull-headed' construction. There are certainly a variety of other animals with 'bull' in their name that display similar defining characteristics. They're probably located most easily around woodland edges, though they can be tough to spot - they're a shy and reclusive bird that rarely venture out into the open for long. Their unobtrusive habits may well disguise them typically feeding in pairs or even small, loose flocks. They also have a staggeringly widespread range, the many described subspecies found all the way across Europe and Asia to the shores of the Pacific. The majority of British Bullfinches are sedentary, rarely moving far from their territories throughout the year, though they will venture further afield within the breeding season to take advantage of new feeding opportunities. 

The Bullfinch may often be located by its song or contact calls. Not because either is particularly loud - if anything, the characteristics are similar to the behaviour of the bird itself. It just happens that the vocalisations may draw attention to an otherwise quiet species. Many of the notes produced are so muffled that there's little continuity in the song - most of the sound produced by Bullfinches seems fractured, tentative and nervous. What is particularly surprising is the Bullfinch was once highly valued as a cage bird. This seems preposterous considering the bird's perceived abilities in song. But, sadly for the Bullfinch, it proved a remarkable mimic with an astonishing propensity to learn. In Victorian times, Bullfinches exhibited an exceptional ability to copy musical tunes both played or whistled to them. In fact, they proved more competent at this than any other species and were highly desirable as a result. Of course, their innate beauty and placid, easy-going manner only escalated their desirability. It seems truly extraordinary that a bird with such a simple wild voice should display such an unrivalled ability to sing. 

Though the Bullfinch is a widely distributed bird, it has struggled in modern Britain. We've lost around 40% of the total population since 1970, with the loss of hedgerows and scrubby habitat and reduction in woodland diversity largely to blame. Amazingly, it was once considered a serious orchard pest, a destroyer of fruit tree crops owing to its feeding on the flowering buds. Thousands were killed every year, though it's since been shown many commercial fruit trees can withstand a loss of more than half their buds without a harvest being affected. This of course intimates culling has been very much unnecessary. This negative opinion of them stretches all the way back to Tudor times and it's only in recent years that it's become illegal to either trap or kill a Bullfinch, owing to their significantly reduced abundance. In any case, the Bullfinch seems quite specific in its feeding requirements, typically opting for tree buds and flowers in late winter and spring, carefully selected insects for feeding young and a variety of seeds and berries throughout the remainder of the year. They also have a rather wonderful adaption, a food storage-sac in the base of the mouth that enables them to forage a greater distance from their hungry young - the only Finch to have such a thing. 

Bullfinch © Nicholas Watts

Bullfinch female © Nicholas Watts 

Leave a comment

Comments

  • Mo:

    Superb description. Highly informative

    12 Jan 2025 20:41:00

Time Δ Debug Message - Perch Runway 3.2
1783194700.87520 [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
1783194700.90130.0261Matched route: news/[slug:s]
1783194700.90140.0001Server address: 216.73.217.177
1783194700.90150Using master page: /templates/pages/blog/post.php
1783194700.90150Page arguments:
Array
(
    [0] => /news/species-of-the-day-bullfinch
    [s] => species-of-the-day-bullfinch
    [1] => species-of-the-day-bullfinch
)
1783194700.90180.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783194700.90290.0011 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1783194700.90470.0018 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1783194700.90530.0006INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1783194700.90760.0023 [1] SELECT * FROM swt_shop_cart WHERE cartID=22625506
1783194700.90810.0005 [1] SELECT * FROM swt_shop_cart WHERE cartID=22625506
1783194700.90860.0005 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-04 19:51:00' AND saleTo>'2026-07-04 19:51:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1783194700.91010.0015 [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='species-of-the-day-bullfinch')) 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-04 19:51:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1783194700.91320.0031 [1] SELECT FOUND_ROWS() AS `count`
1783194700.91370.0005 [1] SELECT * FROM swt_blog_posts WHERE postID=2161 AND postStatus='Published' AND postDateTime<='2026-07-04 19:51:00'
1783194700.91450.0008 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1783194700.91550.0009 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1783194700.91610.0006 [1] SELECT * FROM swt_categories WHERE catID=191 LIMIT 1
1783194700.91660.0005 [1] SELECT * FROM swt_categories WHERE catID=45 LIMIT 1
1783194700.91710.0005Using template: /templates/blog/post.html
1783194700.91730.0002 [162] SELECT catID, catPath FROM swt_categories
1783194700.91830.0009 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-04 19:51:00' AND postSlug='species-of-the-day-bullfinch'
1783194700.93880.0206Using template: /templates/blog/post.html
1783194700.93940.0006 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1783194700.9410.0016Using template: /templates/pages/attributes/seo.html
1783194700.94120.0002 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1783194700.9420.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
1783194700.94310.0011 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783194700.94610.003 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783194700.94680.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783194700.94880.002Using template: /templates/navigation/ps_nav_template.html
1783194700.94890.0001 [6] Using template: /templates/navigation/ps_nav_template_children.html
1783194700.94970.0008 [4] Using template: /templates/navigation/ps_nav_template_children.html
1783194700.95020.0005 [29] Using template: /templates/navigation/ps_nav_template_children.html
1783194700.95260.0024 [10] Using template: /templates/navigation/ps_nav_template_children.html
1783194700.95350.0009 [7] Using template: /templates/navigation/ps_nav_template_children.html
1783194700.95420.0007 [9] Using template: /templates/navigation/ps_nav_template_children.html
1783194700.95660.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1783194700.95750.0009 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1783194700.95970.0022 [1] Using template: /templates/navigation/breadcrumbs.html
1783194700.96030.0005Using template: /templates/blog/post.html
1783194700.96050.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='19' LIMIT 1
1783194700.96130.0008Using template: /templates/blog/author.html
1783194700.96160.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='species-of-the-day-bullfinch')) 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-04 19:51:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1783194700.96370.0021 [1] SELECT FOUND_ROWS() AS `count`
1783194700.96410.0004 [1] Using template: /templates/blog/post.html
1783194700.96670.0026Using template: /templates/blog/comment_form.html
1783194700.96750.0009 [1] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=2161 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1783194701.01730.0498 [1] Using template: /templates/blog/comment.html
1783194701.01780.0005Using template: /templates/blog/post.html
1783194701.0180.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='19' LIMIT 1
1783194701.01880.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1783194701.01950.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1783194701.02010.0006 [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
1783194701.02230.0022 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783194701.02270.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783194701.02470.002 [6] Using template: /templates/navigation/footer-nav.html
1783194701.02550.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783194701.0260.0005 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783194701.02640.0005 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1783194701.02880.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783194701.02920.0004 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783194701.0310.0018 [10] Using template: /templates/navigation/footer-nav.html
1783194701.03410.0031 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1783194701.03480.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1783194701.03550.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
1783194701.03760.0022 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783194701.03810.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783194701.040.0019 [29] Using template: /templates/navigation/footer-nav.html
1783194701.04240.0024 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783194701.0430.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783194701.04350.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
1783194701.04580.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783194701.04650.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783194701.04860.002 [10] Using template: /templates/navigation/footer-nav.html
1783194701.04940.0008Request time: 0.1776
1783194701.04940Process time: 0.1774
1783194701.04940Memory: 1.6542