A loveliness of ladybirds

, 06 September 2025
A loveliness of ladybirds
7-spot Ladybird in the dew © Jon Hawkins

With the onset of autumn, ladybirds are gathering in clusters on the insides of windows and in the corners of sheds, preparing to hibernate.

They sometimes accumulate in large groups, piled on top of each other, to protect themselves from the worst of the weather. As temperatures drop, their natural food supplies dry up and we see more ladybirds taking shelter indoors.

This film shows large numbers of ladybirds gathering at Woods Mill nature reserve in 2018.

Ladybirds are a successful group of insects, thriving in a variety of habitats including towns and gardens, grassland, woodland, farmland and heathland. 

We have over 46 species of them in the UK, but not all are bright red with spots. Some are really quite dull looking and not instantly recognisable as ladybirds. Others have red spots on black or black spots on yellow and the number can vary from 2 to 22. 

Our commonest and best-known is the Seven-spot Ladybird, which is easily recognised by its red wing cases and pattern of three spots on each wing, with one central spot touching both.

Enter the Harlequin

In recent years, Britain has become home to the Harlequin Ladybird too. 

Harlequins can be hard to identify, as they can have over a hundred different colour patterns with different numbers of spots on their wing cases. However, they are never smaller than 5mm long, and have distinctive orangey-brown legs.

Harlequin Ladybirds gathering © Philip Precey
Harlequin Ladybirds gathering © Philip Precey

Native to eastern Asia, the Harlequin is one of the most invasive insects in the world. They were introduced in Europe to feed on and control aphids, and made their way to the UK in 2004. 

Unfortunately, they don’t stop at eating aphids. The eggs of other ladybirds, as well as those of butterflies and moths, are also targeted. As such, they outcompete the UK’s own native ladybirds for food, which may be contributing to the decline of our native Two-spot Ladybird. 

However, don't be tempted to try to destroy these interlopers if you find a group on your windowsill, as there are often native species mixed in with large clusters.

Colourful warnings

The bright colours of many ladybird species warn potential predators such as ants and birds that they won't make good eating. 

When attacked, ladybirds exude a yellow fluid called ‘reflex blood’, which is very smelly and contains toxins that make ladybirds off-putting to many predators.

Their capacity to munch aphids make them a friend to the gardener, with the Seven-spot eating up to 5000 aphids during its year-long lifespan.

Seven-spot Ladybird © Allan Price
Seven-spot Ladybird © Allan Price

It's a good reason to resist tidying up flowerbeds until the spring, as seed heads, hollow plant stems and leaf litter provide perfect homes for ladybirds to sleep in through the winter. 

Another way to help hibernating ladybirds is to provide a home for them by drilling holes in a log or block of wood and placing it on a wall or fence near to plants in need of aphid control.

If you're lucky you may be rewarded by a 'loveliness' - yes that's a recognised collective noun! - of ladybirds where you are. 


A version of this post was originally published in 2018. 

Leave a comment

Comments

  • Julie Norton:

    Advice please – every autumn hundreds of ladybirds make their way up my house walls and settle within the windows and frames. There are native and Harlequin, often a mix of both within the same cluster. If left I’ve found they tend to dessicate so the last couple of years I’ve collected them in a shoebox with dried leaves and scrunched paper and over-wintered them in my shed. Obviously a few die but I find this preferable to having them in the windows (they make quite a mess).
    Last autumn there were so many more to collect, probably 3x the number. There are also some which found other crevices in the house frame and these are now active. Last year I didn’t release my over-wintered ones till March but I’m wondering if I should be letting them go sooner. I live in East Devon where it is relatively mild but not completely frost-free. Any advice on how I should look after them and when to release would be welcome. Many thanks.

    06 Feb 2019 12:00:00

  • It’s still a bit early for them to be active yet – they usually emerge in March or April. Despite the milder weather, there aren’t any aphids about at the moment for them to eat, so waking too early risks death by starvation. It will be best to relocate any active ladybirds to the shoebox in the shed, where it should be cool enough for them to sleep for a bit longer. In March, if the weather seems good, you could open up the shoebox just enough for them to climb out if they want to, and if they do seem to be active you could either leave the shed open for them to fly out, or move the shoebox to a sunny windowsill to encourage them to emerge and be on their way.

    07 Feb 2019 10:43:21

  • Tom:

    I would love to know when ‘lovelines’ started to be used for a collective noun of ladybirds. I was brought up that a group is called a ‘bloom’, it was that since 1486 when it was printed in a book called ‘The Book of Hawking, Hunting and Blasing of Arms’ which is where we get almost all collective nouns for animals.

    10 Jul 2021 13:41:00

  • David:

    Hi, I was just wondering what is correct:

    A Bloom of ladybirds?

    Or

    A loveliness of ladybirds?

    13 Jun 2022 06:04:00

Time Δ Debug Message - Perch Runway 3.2
1782555672.62530 [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
1782555672.65220.0269Matched route: news/[slug:s]
1782555672.65240.0002Server address: 216.73.216.31
1782555672.65250.0001Using master page: /templates/pages/blog/post.php
1782555672.65250Page arguments:
Array
(
    [0] => /news/a-loveliness-of-ladybirds
    [s] => a-loveliness-of-ladybirds
    [1] => a-loveliness-of-ladybirds
)
1782555672.65280.0004 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782555672.65410.0012 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1782555672.65630.0022 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1782555672.6570.0007INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1782555672.65910.0021 [1] SELECT * FROM swt_shop_cart WHERE cartID=22345004
1782555672.65980.0006 [1] SELECT * FROM swt_shop_cart WHERE cartID=22345004
1782555672.66040.0007 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-06-27 10:21:00' AND saleTo>'2026-06-27 10:21:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1782555672.66180.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='a-loveliness-of-ladybirds')) 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-06-27 10:21:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1782555672.66490.0031 [1] SELECT FOUND_ROWS() AS `count`
1782555672.66560.0007 [1] SELECT * FROM swt_blog_posts WHERE postID=1634 AND postStatus='Published' AND postDateTime<='2026-06-27 10:21:00'
1782555672.66660.001 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1782555672.66730.0007 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1782555672.6680.0007 [1] SELECT * FROM swt_categories WHERE catID=30 LIMIT 1
1782555672.66860.0006 [1] SELECT * FROM swt_categories WHERE catID=79 LIMIT 1
1782555672.66920.0006Using template: /templates/blog/post.html
1782555672.66950.0003 [162] SELECT catID, catPath FROM swt_categories
1782555672.67030.0008 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-06-27 10:21:00' AND postSlug='a-loveliness-of-ladybirds'
1782555672.69140.0211Using template: /templates/blog/post.html
1782555672.69190.0006 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1782555672.69360.0017Using template: /templates/pages/attributes/seo.html
1782555672.69390.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1782555672.69470.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
1782555672.69620.0015 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782555672.69960.0035 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782555672.70020.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782555672.70250.0023Using template: /templates/navigation/ps_nav_template.html
1782555672.70260 [6] Using template: /templates/navigation/ps_nav_template_children.html
1782555672.70310.0006 [4] Using template: /templates/navigation/ps_nav_template_children.html
1782555672.70340.0003 [29] Using template: /templates/navigation/ps_nav_template_children.html
1782555672.70470.0013 [10] Using template: /templates/navigation/ps_nav_template_children.html
1782555672.70540.0006 [7] Using template: /templates/navigation/ps_nav_template_children.html
1782555672.70580.0004 [9] Using template: /templates/navigation/ps_nav_template_children.html
1782555672.70810.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1782555672.70910.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
1782555672.71130.0022 [1] Using template: /templates/navigation/breadcrumbs.html
1782555672.71180.0005Using template: /templates/blog/post.html
1782555672.7120.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1782555672.71280.0007Using template: /templates/blog/author.html
1782555672.71310.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='a-loveliness-of-ladybirds')) 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-06-27 10:21:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1782555672.71550.0024 [1] SELECT FOUND_ROWS() AS `count`
1782555672.7160.0006 [1] Using template: /templates/blog/post.html
1782555672.71930.0033Using template: /templates/blog/comment_form.html
1782555672.72030.001 [4] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=1634 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1782555672.77620.0558 [4] Using template: /templates/blog/comment.html
1782555672.7780.0018Using template: /templates/blog/post.html
1782555672.77820.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1782555672.7790.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1782555672.77980.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1782555672.78050.0008 [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
1782555672.78250.002 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782555672.78310.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782555672.78510.002 [6] Using template: /templates/navigation/footer-nav.html
1782555672.78630.0012 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782555672.78710.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782555672.78760.0006 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1782555672.79020.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782555672.79060.0004 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782555672.79270.0021 [10] Using template: /templates/navigation/footer-nav.html
1782555672.79570.003 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1782555672.79640.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1782555672.79680.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
1782555672.79920.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782555672.79980.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782555672.80180.002 [29] Using template: /templates/navigation/footer-nav.html
1782555672.80390.0021 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782555672.80460.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782555672.8050.0004 [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
1782555672.80710.0021 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782555672.80760.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782555672.80940.0018 [10] Using template: /templates/navigation/footer-nav.html
1782555672.8110.0016Request time: 0.189
1782555672.8110Process time: 0.1888
1782555672.8110Memory: 1.6572