Royal terror - the Purple Emperor

, 01 April 2025
Royal terror - the Purple Emperor
Purple Emperor Butterfly © Derek Middleton

The Purple Emperor is the holy grail of British butterflies, a truly magnificent creature capable of drawing an impressive crowd of loyal subjects all seeking an audience with His Royal Highness. The attraction stems from the Emperor’s stunning good looks combined with his quirky behaviour and elusive nature, which has driven enthusiasts to extreme lengths in their quest to lure him down from the treetops.

The iridescent sheen of royal purple is only present on the wings of the males, and then only when the light catches them at just the right angle. The larger Empress is less colourful but just as luxuriant in her chocolate brown robes. 

Both have intricately patterned under-wings featuring a large, orange eye-spot that mimics the piercing glare of the fearsome goshawk.  This provides an effective defence against would-be predators when the males come down to the ground to probe for essential minerals, their wings folded upright and ‘eyes’ on the lookout as they feast on mud and animal dung.  

Mating Purple Emperor butterflies © David Plummer

They follow a regular daily routine, usually descending for morning minerals between 10am and midday, and the Emperor’s fondness for fox poo and other unsavoury options has inspired the use of a range of disgusting baits to tempt him into view, from rotting fish to stinky cheese and even old nappies. This tradition dates back at least 250 years and some enthusiasts now keep their own recipes a closely-guarded secret.

The rest of the Emperor’s diet consists of sugary tree sap, which he will often indulge in to the point of drunkenness before staggering back to his tree-top throne. This is where he’ll spend the bulk of the day, perched on a leaf on the look-out for a passing Empress. He is fiercely territorial and will launch a vicious attack at anything and everything that enters his air space, not just rival males but other insects and even birds, ranging from blue tits to buzzards.

These aerial dogfights can soar to 50 metres above the canopy and are often the best clues to the Emperor’s presence, so it’s worth scanning the tops of oak, ash, beech and pine for the flutter and twirl of purple wings this summer.

Published July 2020, updated April 2025

Leave a comment

Comments

  • Ross:

    A fascinating read about an enigmatic butterfly, thank you. I shall be sure to keep an eye out for them.

    15 May 2025 09:31:00

  • Mrs carol gray:

    fascinating and renewed my interest in nature. A dose of nature is therapeutic.

    04 Jun 2025 07:07:00

  • Carmela Inserra:

    I saw one of this butterfly last week in Ashurst wood west sussex it was almost a velvet black with just a touch of purple beautiful I don’t think I’ve seen one like it before.

    15 Jun 2025 17:02:00

  • Kate H:

    There are currently huge numbers visible at Knepp Wilding estate. Apparently more than in 2018 when it was a record amount…

    29 Jun 2025 13:14:00

  • David Phillips:

    Lucky enough to see one feasting on the ground a few years back. This article has inspired me to try again this week whilst the weather is so good!

    29 Jun 2025 21:23:00

  • Sussex Wildlife Trust:

    Wonderful!

Time Δ Debug Message - Perch Runway 3.2
1782596780.68830 [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
1782596780.7130.0247Matched route: news/[slug:s]
1782596780.71320.0002Server address: 216.73.216.31
1782596780.71320Using master page: /templates/pages/blog/post.php
1782596780.71330Page arguments:
Array
(
    [0] => /news/royal-terror-the-purple-emperor
    [s] => royal-terror-the-purple-emperor
    [1] => royal-terror-the-purple-emperor
)
1782596780.71360.0004 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782596780.71480.0012 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1782596780.71660.0018 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1782596780.71720.0006INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1782596780.71920.002 [1] SELECT * FROM swt_shop_cart WHERE cartID=22362939
1782596780.71970.0006 [1] SELECT * FROM swt_shop_cart WHERE cartID=22362939
1782596780.72030.0006 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-06-27 21:46:00' AND saleTo>'2026-06-27 21:46:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1782596780.72160.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='royal-terror-the-purple-emperor')) 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 21:46:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1782596780.72440.0027 [1] SELECT FOUND_ROWS() AS `count`
1782596780.7250.0007 [1] SELECT * FROM swt_blog_posts WHERE postID=2262 AND postStatus='Published' AND postDateTime<='2026-06-27 21:46:00'
1782596780.7260.001 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1782596780.72670.0007 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1782596780.72750.0008 [1] SELECT * FROM swt_categories WHERE catID=181 LIMIT 1
1782596780.72810.0006 [1] SELECT * FROM swt_categories WHERE catID=49 LIMIT 1
1782596780.72870.0006Using template: /templates/blog/post.html
1782596780.72890.0003 [162] SELECT catID, catPath FROM swt_categories
1782596780.73210.0032 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-06-27 21:46:00' AND postSlug='royal-terror-the-purple-emperor'
1782596780.75180.0197Using template: /templates/blog/post.html
1782596780.75240.0006 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1782596780.7540.0017Using template: /templates/pages/attributes/seo.html
1782596780.75440.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1782596780.75520.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
1782596780.75670.0015 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782596780.75980.0031 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782596780.76030.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782596780.76440.0041Using template: /templates/navigation/ps_nav_template.html
1782596780.76450.0001 [6] Using template: /templates/navigation/ps_nav_template_children.html
1782596780.76520.0007 [4] Using template: /templates/navigation/ps_nav_template_children.html
1782596780.76570.0004 [29] Using template: /templates/navigation/ps_nav_template_children.html
1782596780.76820.0026 [10] Using template: /templates/navigation/ps_nav_template_children.html
1782596780.76930.0011 [7] Using template: /templates/navigation/ps_nav_template_children.html
1782596780.770.0008 [9] Using template: /templates/navigation/ps_nav_template_children.html
1782596780.77360.0036 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1782596780.77570.0021 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1782596780.77810.0024 [1] Using template: /templates/navigation/breadcrumbs.html
1782596780.77890.0008Using template: /templates/blog/post.html
1782596780.77930.0004 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1782596780.78010.0009Using template: /templates/blog/author.html
1782596780.78060.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='royal-terror-the-purple-emperor')) 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 21:46:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1782596780.7830.0024 [1] SELECT FOUND_ROWS() AS `count`
1782596780.78360.0007 [1] Using template: /templates/blog/post.html
1782596780.78750.0039Using template: /templates/blog/comment_form.html
1782596780.78860.0011 [5] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=2262 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1782596780.84080.0522 [5] Using template: /templates/blog/comment.html
1782596780.84270.0019Using template: /templates/blog/post.html
1782596780.84290.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1782596780.84380.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1782596780.84450.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1782596780.84520.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
1782596780.84720.002 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782596780.84770.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782596780.84960.0019 [6] Using template: /templates/navigation/footer-nav.html
1782596780.85080.0013 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782596780.85150.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782596780.85190.0004 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1782596780.85440.0025 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782596780.8550.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782596780.8570.002 [10] Using template: /templates/navigation/footer-nav.html
1782596780.86020.0033 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1782596780.86110.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1782596780.86160.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
1782596780.86390.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782596780.86450.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782596780.86660.0021 [29] Using template: /templates/navigation/footer-nav.html
1782596780.86890.0023 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782596780.86970.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782596780.87010.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
1782596780.8730.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782596780.87360.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782596780.87540.0018 [10] Using template: /templates/navigation/footer-nav.html
1782596780.8770.0016Request time: 0.1921
1782596780.8770Process time: 0.1919
1782596780.8770Memory: 1.6287