Meet the longhorn beetle

, 08 August 2025
Meet the longhorn beetle
Spotted Longhorn Beetle © Alan Price

By Matt Rich

Ranger, Rye Harbour Nature Reserve

Longhorn beetles (Cerambycidae) are some of the UK’s most striking, but overlooked, insects. Named for their long, sweeping antennae - often longer than their bodies - these beetles are mostly found in woodlands, hedgerows and even gardens. The UK is home to around 60 different species, from the delicate Musk beetle (Aromia moschata) with its metallic green sheen, to the more common Black-spotted Longhorn beetle (Rhagium mordax), seen on logs in spring.

Most longhorn beetles begin life as wood-boring larvae, feeding on decaying or sometimes living trees. This makes them essential decomposers, helping to break down deadwood and return nutrients to the ecosystem. Some species spend years hidden inside wood before emerging as adults.

Golden-bloomed Grey Longhorn Beetle © David Bentley
Golden-bloomed Grey Longhorn Beetle © David Bentley

Longhorns are excellent indicator species, signalling the health of woodland habitats. However, modern land management and the removal of deadwood have made life harder for them. Several species are now rare or in decline.

Despite this, they’re not hard to spot—especially in warmer months. Adults are often seen on flowers like Hogweed or Cow Parsley or basking on tree trunks. If you find small holes or piles of sawdust at the base of deadwood, you might be looking at signs of larvae.

Want to help? Leave deadwood in your garden or take part in citizen science projects like the National Longhorn Beetle Recording Scheme, which tracks species distribution and is really easy to do from your mobile phone.

Though small and often hidden, longhorn beetles are a vivid reminder of how even the quietest corners of nature are full of life and colour. Next time you’re in the woods, keep an eye out—you might just spot one of Britain’s most elegant beetles.

Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1782566129.05320 [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
1782566129.08070.0274Matched route: news/[slug:s]
1782566129.08080.0002Server address: 216.73.216.31
1782566129.08090Using master page: /templates/pages/blog/post.php
1782566129.08090Page arguments:
Array
(
    [0] => /news/meet-the-longhorn-beetle
    [s] => meet-the-longhorn-beetle
    [1] => meet-the-longhorn-beetle
)
1782566129.08110.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782566129.08210.001 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1782566129.08370.0016 [1] SELECT * FROM swt_shop_cart WHERE cartID=22350122
1782566129.08430.0006 [1] SELECT * FROM swt_shop_cart WHERE cartID=22350122
1782566129.08490.0005 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-06-27 13:15:00' AND saleTo>'2026-06-27 13:15:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1782566129.08620.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='meet-the-longhorn-beetle')) 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 13:15:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1782566129.0890.0029 [1] SELECT FOUND_ROWS() AS `count`
1782566129.08970.0006 [1] SELECT * FROM swt_blog_posts WHERE postID=3750 AND postStatus='Published' AND postDateTime<='2026-06-27 13:15:00'
1782566129.09050.0008 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1782566129.09110.0007 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1782566129.09180.0006 [1] SELECT * FROM swt_categories WHERE catID=70 LIMIT 1
1782566129.09240.0006Using template: /templates/blog/post.html
1782566129.09270.0003 [162] SELECT catID, catPath FROM swt_categories
1782566129.09360.001 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-06-27 13:15:00' AND postSlug='meet-the-longhorn-beetle'
1782566129.11430.0207Using template: /templates/blog/post.html
1782566129.11480.0005 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1782566129.11630.0015Using template: /templates/pages/attributes/seo.html
1782566129.11660.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1782566129.11750.0009 [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
1782566129.1190.0015 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782566129.12180.0028 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782566129.12240.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782566129.12450.0021Using template: /templates/navigation/ps_nav_template.html
1782566129.12460 [6] Using template: /templates/navigation/ps_nav_template_children.html
1782566129.12530.0008 [4] Using template: /templates/navigation/ps_nav_template_children.html
1782566129.1260.0006 [29] Using template: /templates/navigation/ps_nav_template_children.html
1782566129.12820.0023 [10] Using template: /templates/navigation/ps_nav_template_children.html
1782566129.12920.0009 [7] Using template: /templates/navigation/ps_nav_template_children.html
1782566129.12990.0007 [9] Using template: /templates/navigation/ps_nav_template_children.html
1782566129.13280.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1782566129.13380.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
1782566129.13590.0021 [1] Using template: /templates/navigation/breadcrumbs.html
1782566129.13650.0005Using template: /templates/blog/post.html
1782566129.13680.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1782566129.13750.0007Using template: /templates/blog/author.html
1782566129.13790.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='meet-the-longhorn-beetle')) 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 13:15:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1782566129.14010.0021 [1] SELECT FOUND_ROWS() AS `count`
1782566129.14060.0005 [1] Using template: /templates/blog/post.html
1782566129.1430.0024Using template: /templates/blog/comment_form.html
1782566129.14410.001 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=3750 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1782566129.19930.0553 [0] Using template: /templates/blog/comment.html
1782566129.19960.0003Using template: /templates/blog/post.html
1782566129.19990.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1782566129.20080.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1782566129.2020.0012 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1782566129.20280.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
1782566129.20490.002 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782566129.20540.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782566129.20740.0019 [6] Using template: /templates/navigation/footer-nav.html
1782566129.20870.0013 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782566129.20930.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782566129.20990.0006 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1782566129.21230.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782566129.21270.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782566129.21470.002 [10] Using template: /templates/navigation/footer-nav.html
1782566129.2180.0033 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1782566129.21880.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1782566129.21920.0004 [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
1782566129.22150.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782566129.22210.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782566129.22390.0018 [29] Using template: /templates/navigation/footer-nav.html
1782566129.2270.0031 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782566129.22770.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782566129.22820.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
1782566129.23040.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782566129.23090.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782566129.23270.0018 [10] Using template: /templates/navigation/footer-nav.html
1782566129.23410.0014Request time: 0.1821
1782566129.23410Process time: 0.1818
1782566129.23410Memory: 1.624