How to spot a Ladybird

, 03 September 2023
How to spot a Ladybird
Ladybird © Gemma Pratt

By Charlotte Owen

Conservation Officer (maternity cover)

Everyone knows what a ladybird looks like – a cute and friendly beetle with a round body, its domed back painted letterbox-red with a smattering of glossy black spots. But not all ladybirds look like this, and some are not quite what they seem.

There are 46 species in Britain, although only 26 of them look like typical ladybirds. The remainder are fairly drab and inconspicuous compared to the bright and colourful beetles we know and love. 

The commonest is the 7-spot Ladybird, which is the stereotypical red with seven black spots. 

The one pictured below is the much less common Scarce 7-spot, which has four white triangular markings below the legs, whereas 7-spot has only two markings.

Scarce 7-spot © Graeme Lyons
Scarce 7-spot © Graeme Lyons

The 2-spot Ladybird follows the same format as the 7-spot but this is where things start getting complicated, because the 2-spot ladybird also comes in black with up to six red spots. 

The Kidney-spot Ladybird and Pine Ladybird are also black with red spots, while the Ten-spot ladybird doesn’t always have ten spots. 

14-spot © Neil Fletcher
14-spot © Neil Fletcher

The 22-spot Ladybird is yellow and true to its name, as is the similar 14-spot ladybird. The Orange Ladybird is indeed orange and the Cream-spot has cream spots - but shouldn’t be confused with the Cream-streaked Ladybird, which is often salmon pink. There’s even a Striped Ladybird, which bucks the trend completely.

Orange ladybird © Graeme Lyons
Orange ladybird © Graeme Lyons

So why is there so much variation in ladybird colour and pattern? The bright colours warn potential predators that they are toxic and taste terrible, so it would make evolutionary sense for ladybirds to stick to consistent colouring to get a clear message across. Interestingly, studies have shown that the highly variable but actually quite tasty Two-spot ladybird varies its colouration to mimic its more toxic relatives, which may be red with black spots in some habitats, or black with red spots in others. 

Harlequin © Philip Precey
Harlequin © Philip Precey

Temperature may well determine which colours are found where, and some of the best evidence for this comes from one of the most variable species of all – the non-native Harlequin. The black varieties are more common than red in cooler woodland habitats, where darker colouration could help them warm up more quickly. In late autumn/early winter, Harlequins of all colours will cluster on sunny walls or window panes, often in huge numbers, as they seek out a sheltered spot to hibernate.

Fun fact: did you know that the Welsh for ladybird, buwch goch gota, literally translates as 'red-coated cow'!

Leave a comment

Comments

  • Carole Dawkins:

    thank you for the fascinating insight into the world of lady birds.
    I was not aware of some many different species. I will be on the look out for them in my garden and on the allotment.

    14 Sep 2023 12:49:00

  • Christine:

    I have had loads of ladybirds, in my garden, this year! Their lavae have been on my garden table and chairs, deckchairs and even the door frame. The adult ones have been just as bountiful. They are all different types but I haven’t seen an orange striped one yet. I will keep my eyes peeled.

    14 Sep 2023 13:01:00

  • Diane Lesley Woolven:

    Today I saw a mustard yellow ladybird with tiny faint dark pinprick spots on our Fennel plant.

    14 Sep 2023 15:04:00

  • Gertrude:

    Fascinating, thank you.

    15 Sep 2023 08:28:00

  • Ros Kember:

    My double glazing is crowded with hibernating lady birds each winter.the window is on the south side of my home.R

    15 Sep 2023 14:35:00

  • Tom Day:

    Really enjoyed this nicely written little article – thanks 😃🐞

    18 Sep 2023 20:58:00

  • Tom Day:

    Really enjoyed this nicely written little article – thanks 😃🐞

    22 Sep 2023 13:06:00

  • Tom Day:

    Really enjoyed this nicely written little article – thanks 😃🐞

    24 Sep 2023 07:19:00

  • Tom Day:

    Really enjoyed this nicely written little article – thanks 😃🐞

    25 Sep 2023 21:15:00

  • Tom Day:

    Really enjoyed this nicely written little article – thanks 😃🐞

    27 Sep 2023 20:51:00

  • Tom Day:

    Really enjoyed this nicely written little article – thanks 😃🐞

    29 Sep 2023 14:03:00

  • Tom Day:

    Really enjoyed this nicely written little article – thanks 😃🐞

    29 Sep 2023 21:16:00

Time Δ Debug Message - Perch Runway 3.2
1782778157.1480 [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
1782778157.26010.1122Matched route: news/[slug:s]
1782778157.26030.0001Server address: 216.73.217.103
1782778157.26030Using master page: /templates/pages/blog/post.php
1782778157.26030Page arguments:
Array
(
    [0] => /news/how-to-spot-a-ladybird
    [s] => how-to-spot-a-ladybird
    [1] => how-to-spot-a-ladybird
)
1782778157.26060.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782778157.26160.0011 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1782778157.2680.0064 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1782778157.26870.0006INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1782778157.27090.0023 [1] SELECT * FROM swt_shop_cart WHERE cartID=22435462
1782778157.27180.0009 [1] SELECT * FROM swt_shop_cart WHERE cartID=22435462
1782778157.27260.0007 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-06-30 00:09:00' AND saleTo>'2026-06-30 00:09:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1782778157.27420.0016 [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='how-to-spot-a-ladybird')) 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-30 00:09:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1782778157.27770.0035 [1] SELECT FOUND_ROWS() AS `count`
1782778157.27840.0007 [1] SELECT * FROM swt_blog_posts WHERE postID=3171 AND postStatus='Published' AND postDateTime<='2026-06-30 00:09:00'
1782778157.27950.0011 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1782778157.28020.0008 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1782778157.28090.0007 [1] SELECT * FROM swt_categories WHERE catID=181 LIMIT 1
1782778157.28160.0006 [1] SELECT * FROM swt_categories WHERE catID=49 LIMIT 1
1782778157.28220.0007Using template: /templates/blog/post.html
1782778157.28240.0002 [162] SELECT catID, catPath FROM swt_categories
1782778157.28360.0011 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-06-30 00:09:00' AND postSlug='how-to-spot-a-ladybird'
1782778157.31660.033Using template: /templates/blog/post.html
1782778157.31770.0011 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1782778157.320.0023Using template: /templates/pages/attributes/seo.html
1782778157.32030.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1782778157.32140.0011 [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
1782778157.32310.0017 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782778157.32690.0038 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782778157.32780.0008 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782778157.33050.0027Using template: /templates/navigation/ps_nav_template.html
1782778157.33050 [6] Using template: /templates/navigation/ps_nav_template_children.html
1782778157.33150.0009 [4] Using template: /templates/navigation/ps_nav_template_children.html
1782778157.3320.0005 [29] Using template: /templates/navigation/ps_nav_template_children.html
1782778157.33490.0029 [10] Using template: /templates/navigation/ps_nav_template_children.html
1782778157.3360.0011 [7] Using template: /templates/navigation/ps_nav_template_children.html
1782778157.33670.0007 [9] Using template: /templates/navigation/ps_nav_template_children.html
1782778157.33910.0024 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1782778157.340.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
1782778157.34270.0028 [1] Using template: /templates/navigation/breadcrumbs.html
1782778157.34320.0005Using template: /templates/blog/post.html
1782778157.34350.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='16' LIMIT 1
1782778157.3510.0075Using template: /templates/blog/author.html
1782778157.35150.0005 [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='how-to-spot-a-ladybird')) 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-30 00:09:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1782778157.35510.0036 [1] SELECT FOUND_ROWS() AS `count`
1782778157.35690.0018 [1] Using template: /templates/blog/post.html
1782778157.36010.0032Using template: /templates/blog/comment_form.html
1782778157.36110.0009 [12] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=3171 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1782778157.62410.263 [12] Using template: /templates/blog/comment.html
1782778157.62650.0024Using template: /templates/blog/post.html
1782778157.62680.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='16' LIMIT 1
1782778157.62770.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1782778157.62870.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1782778157.62960.0009 [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
1782778157.63230.0028 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782778157.63290.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782778157.63550.0026 [6] Using template: /templates/navigation/footer-nav.html
1782778157.63620.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782778157.63690.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782778157.63740.0006 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1782778157.64040.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782778157.64690.0065 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782778157.64980.0028 [10] Using template: /templates/navigation/footer-nav.html
1782778157.65310.0034 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1782778157.6540.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1782778157.65450.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
1782778157.65870.0042 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782778157.65970.001 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782778157.66410.0044 [29] Using template: /templates/navigation/footer-nav.html
1782778157.66650.0024 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782778157.66750.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782778157.66810.0006 [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
1782778157.6710.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782778157.67890.008 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782778157.6810.0021 [10] Using template: /templates/navigation/footer-nav.html
1782778157.68230.0013Request time: 0.5357
1782778157.68230Process time: 0.5355
1782778157.68230Memory: 1.6303