Species of the day: Ivy-leaved Toadflax

, 25 April 2020
Species of the day: Ivy-leaved Toadflax
Ivy-leaved Toadflax © James Duncan

By James Duncan

Learning & Engagement Officer

The charming Ivy-leaved Toadflax (Cymbalaria muralis) isn't a native British species, having thought to have hitched a ride on imported Italian sculptures and first recorded living wild in 1640. It is, however, very much naturalised having adapted well to our climate from its traditional Mediterranean home. It's also hugely abundant in our towns and cities, but not in the typical growing habitat you may expect. This attractive herbaceous perennial is actually a magnificent master of stonework, for its wonderfully compact, snapdragon-like flowers and swathes of ivy-esque foliage adorn walls and pavements - indeed anywhere rocky, even on shingle beaches. A traditional French name of 'Ruine de Rome' is entirely suggestive of its favoured type of living space. This plant does an admirable job of living in what would typically be considered uninviting terrain, dry, sun-baked and largely inhospitable. 

This adept wall-scrambler can predominantly be seen in flower from April through to October and has a rather wonderful method of propagation, one that enables its vertical rock climbs. Like most plants it begins positively phototropic, its flowering stems reaching actively for the sunlight. The flowers comprise a bright yellow 'nectar guide' on the lower lip, which serves as an attractant to pollinating insects. Owing to its habitat, it's rather favoured by wall-nesting solitary bee species. Once pollination has been achieved, it enters the unique stage of its growth, becoming negatively phototropic. The seed-heads then abandon their quest for light and bend back toward the darkness, eventually depositing the seed into a dark crevice where germination becomes possible - an ingenious method of ensuring survival in such an environment. The seed-heads are heavily ridged to ensure they remain locked in place as the growing roots take hold. 

The naming of Cymbalaria requires quite a bit of imagination, for it relates to the vague similarity of the leaves to a cymbal. Clearly they aren't the right shape, though it's the depression in the centre of the leaves that are responsible for this. The 'Ivy-leaved' component doesn't necessarily require much explanation, though the 'toadflax' may be indicate of the flowers' gaping approximation of a toad's mouth, though equally it may derive from a simple misreading of the latin. Either way, it certainly adds a beautiful splash of insect-friendly colour to our bare urban walls.

Ivy leaved Toadflax4

Ivy leaved Toadflax2

Ivy-leaved Toadflax © James Duncan

Leave a comment

Comments

  • Kt:

    Thank you so much this was really informative
    The reserve looks lovely with all the purple flowers
    I don’t recall it being so prolific in the past

    05 May 2020 07:51:00

  • Janet Giles:

    Although this is an attractive plant it is becoming invasive and working it’s way around my decking and under the cladding of the house wall.
    I am afraid of any damage it may cause and wonder what is the best way to curtail it.
    Any suggestions, please.

    08 Apr 2022 11:22:00

  • Lissa Evans:

    Lovely little article – thank you! I have posted it on Twitter, following a discussion of this plant: https://x.com/LissaKEvans/status/2038223400095658198?s=20

    29 Mar 2026 11:55:00

Time Δ Debug Message - Perch Runway 3.2
1783219209.0220 [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
1783219209.04890.0269Matched route: news/[slug:s]
1783219209.04910.0001Server address: 216.73.217.177
1783219209.04910Using master page: /templates/pages/blog/post.php
1783219209.04910Page arguments:
Array
(
    [0] => /news/species-of-the-day-ivy-leaved-toadflax
    [s] => species-of-the-day-ivy-leaved-toadflax
    [1] => species-of-the-day-ivy-leaved-toadflax
)
1783219209.04940.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783219209.05060.0012 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1783219209.05250.0019 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1783219209.05330.0008INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1783219209.0550.0017 [1] SELECT * FROM swt_shop_cart WHERE cartID=22636041
1783219209.05560.0006 [1] SELECT * FROM swt_shop_cart WHERE cartID=22636041
1783219209.05630.0007 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-05 02:40:00' AND saleTo>'2026-07-05 02:40:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1783219209.05750.0011 [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-ivy-leaved-toadflax')) 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-05 02:40:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1783219209.05940.002 [1] SELECT FOUND_ROWS() AS `count`
1783219209.060.0006 [1] SELECT * FROM swt_blog_posts WHERE postID=2098 AND postStatus='Published' AND postDateTime<='2026-07-05 02:40:00'
1783219209.06080.0008 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1783219209.06150.0007 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1783219209.06220.0007 [1] SELECT * FROM swt_categories WHERE catID=191 LIMIT 1
1783219209.06290.0007 [1] SELECT * FROM swt_categories WHERE catID=51 LIMIT 1
1783219209.06350.0006Using template: /templates/blog/post.html
1783219209.06370.0002 [162] SELECT catID, catPath FROM swt_categories
1783219209.06460.0009 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-05 02:40:00' AND postSlug='species-of-the-day-ivy-leaved-toadflax'
1783219209.08480.0202Using template: /templates/blog/post.html
1783219209.08540.0006 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1783219209.08720.0017Using template: /templates/pages/attributes/seo.html
1783219209.08740.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1783219209.08840.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
1783219209.090.0016 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1783219209.09310.0031 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783219209.09380.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783219209.0960.0023Using template: /templates/navigation/ps_nav_template.html
1783219209.09610.0001 [6] Using template: /templates/navigation/ps_nav_template_children.html
1783219209.09690.0008 [4] Using template: /templates/navigation/ps_nav_template_children.html
1783219209.09740.0005 [29] Using template: /templates/navigation/ps_nav_template_children.html
1783219209.10030.0029 [10] Using template: /templates/navigation/ps_nav_template_children.html
1783219209.10140.0011 [7] Using template: /templates/navigation/ps_nav_template_children.html
1783219209.10230.0009 [9] Using template: /templates/navigation/ps_nav_template_children.html
1783219209.10560.0033 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1783219209.10650.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
1783219209.10910.0026 [1] Using template: /templates/navigation/breadcrumbs.html
1783219209.10960.0005Using template: /templates/blog/post.html
1783219209.10980.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='19' LIMIT 1
1783219209.11070.0009Using template: /templates/blog/author.html
1783219209.11110.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='species-of-the-day-ivy-leaved-toadflax')) 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-05 02:40:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1783219209.11330.0021 [1] SELECT FOUND_ROWS() AS `count`
1783219209.11380.0006 [1] Using template: /templates/blog/post.html
1783219209.11690.0031Using template: /templates/blog/comment_form.html
1783219209.11780.0009 [3] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=2098 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1783219209.16880.051 [3] Using template: /templates/blog/comment.html
1783219209.16980.001Using template: /templates/blog/post.html
1783219209.17010.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='19' LIMIT 1
1783219209.17140.0013 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1783219209.17220.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1783219209.1730.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
1783219209.17620.0031 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783219209.17690.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783219209.17950.0027 [6] Using template: /templates/navigation/footer-nav.html
1783219209.18080.0013 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783219209.18150.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783219209.18210.0006 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1783219209.18580.0037 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783219209.18640.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783219209.18920.0028 [10] Using template: /templates/navigation/footer-nav.html
1783219209.19330.004 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1783219209.19410.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1783219209.19520.0011 [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
1783219209.19840.0032 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783219209.1990.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783219209.20170.0027 [29] Using template: /templates/navigation/footer-nav.html
1783219209.20410.0024 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1783219209.20490.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1783219209.20560.0007 [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
1783219209.20860.003 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1783219209.20910.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1783219209.21190.0027 [10] Using template: /templates/navigation/footer-nav.html
1783219209.21330.0015Request time: 0.1939
1783219209.21330Process time: 0.1937
1783219209.21340Memory: 1.6288