Container spills and coastal clean-ups

, 30 January 2026
Container spills and coastal clean-ups
Lost shipping container on Sussex beach © Jon Santa Cruz

By Sarah Ward

Marine Conservation Officer

With three recent severe pollution events affecting the Sussex coastline and sea in the last couple of months, beach cleaners across the counties have been collecting huge amounts of all sorts of abnormal items, from tonnes of bio-beads to avocados, bananas, bags of onions and even frozen chips.

A huge well done to all those who have involved themselves in clean-up efforts – it’s incredibly important to remove these items from the environment and demonstrates how much communities and individuals care about their local beaches and sea. Our own volunteers have been out at West Beach in Littlehampton both before and after Christmas.

Volunteer beach clean at Rye Harbour Nature Reserve © Matt Rich
Volunteer beach clean at Rye Harbour Nature Reserve © Matt Rich

While these container losses might seem like freak accidents, the impact of these events has prompted us to act, both in terms of directing volunteers to get involved, and understanding how the policy around these accidents works. We may be familiar with the term ‘polluter pays’, but what does this mean in practice?

Shipping containers lost at sea have wide-ranging impacts. The contents of the containers will often find their way to beaches, but much of it remains at sea. Floating debris may cause an immediate hazard to other sea users, and in the longer term may continue to damage the marine environment.

New legislation means that shipping companies are legally required to report any losses; the containers are the legal responsibility of the vessel owner. Insurance policies will cover the loss of goods; this should also cover costs incurred by those cleaning beaches and removing containers. 

Locally, this has been primarily Councils who have arranged contractors to deal with the removal of shoreline debris – we fully support calls for recovering all costs from the responsible parties. We would also like funds to be made available to environmental groups. These groups play a key role in cleaning up after these kinds of events and are committed to keeping their local blue and green spaces clean.

Loss or damage to biodiversity can also be a factor here, particularly if an affected area or habitat is protected. Proving environmental damage, however, is much more difficult, particularly if the whereabouts of the containers are unknown. When containers damage protected habitats at sea, it may be possible to take action against the vessel owner—but only if the containers are found and the damage can be proven.

Please see our webpage for information about how to get involved in volunteering with Sussex Wildlife Trust.

Insulation foam and bananas on Bognor beach © Polly Kitson
Insulation foam and bananas on Bognor beach © Polly Kitson
Leave a comment

Comments

  • amanda jobson:

    I am already a big organiser for our SAS Paddle Outs each year to end sewage pollution in Hastings and Plastic free Hastings but we do need to work together as we only had a handful of volunteers here when we had the insulation spill and bio bead spill the insulation was vast all along our beaches but funding is crucial to help protect our envirnment and reform . Thank you for all your work on sussex coast.

    03 Feb 2026 19:11:00

  • Barbara butterworth:

    I was walking my dog at Normans bay this afternoon. There were teams of men from two companies clearing the small pieces of insulation foam and various other materials that had been washed up. I talked with one of the chaps and they had come all the way from Aberdeen and that the shipping companies insurance providers were paying for the clean up .Seems daft that there wasn’t a local company but at least they were doing a good job .

    03 Feb 2026 21:41:00

  • Vicki:

    The surprise here is that container shio companies are not responsible for clean up, is that true? If accurate this needs to be addressed internationally immediately.

    04 Feb 2026 00:11:00

  • Georgina Cutler:

    There’s needs to be something done about this situation and the way the law works. Apparently the fine that was imposed on the shipping company for the Napoli disaster went straight back into the local conservation projects of the affected areas… why can’t we do the same here? We have plenty of local projects that would benefit for the extra funding and it’s their responsibility to invest in what they have destroyed. I’m sure there is plenty of evidence gathered from all the local beach cleaning groups and wildlife charities. Maybe there should be a similar strategy to Biodiversity Net Gain where polluters need to pay for the habitat they have impacted with a greater positive result. We could easily quantify the amount of time and man hours it is still taking us to clean up, plus ecologists can model the long term impacts of all the tiny polyurethane particles that will remain in the ecosystem

    04 Feb 2026 22:15:00

Time Δ Debug Message - Perch Runway 3.2
1782513764.8930 [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
1782513764.9180.025Matched route: news/[slug:s]
1782513764.91810.0001Server address: 216.73.217.174
1782513764.91820Using master page: /templates/pages/blog/post.php
1782513764.91820Page arguments:
Array
(
    [0] => /news/container-spills-and-coastal-clean-ups
    [s] => container-spills-and-coastal-clean-ups
    [1] => container-spills-and-coastal-clean-ups
)
1782513764.91840.0002 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782513764.91920.0008 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1782513764.92060.0014 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1782513764.92110.0005INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1782513764.92320.0021 [1] SELECT * FROM swt_shop_cart WHERE cartID=22328309
1782513764.92360.0004 [1] SELECT * FROM swt_shop_cart WHERE cartID=22328309
1782513764.92410.0004 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-06-26 22:42:00' AND saleTo>'2026-06-26 22:42:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1782513764.9250.0009 [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='container-spills-and-coastal-clean-ups')) 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-26 22:42:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1782513764.92740.0023 [1] SELECT FOUND_ROWS() AS `count`
1782513764.92780.0005 [1] SELECT * FROM swt_blog_posts WHERE postID=3876 AND postStatus='Published' AND postDateTime<='2026-06-26 22:42:00'
1782513764.92860.0008 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1782513764.92910.0005 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1782513764.92960.0005 [1] SELECT * FROM swt_categories WHERE catID=196 LIMIT 1
1782513764.93020.0005 [1] SELECT * FROM swt_categories WHERE catID=70 LIMIT 1
1782513764.93060.0005 [1] SELECT * FROM swt_categories WHERE catID=44 LIMIT 1
1782513764.93120.0006Using template: /templates/blog/post.html
1782513764.93140.0002 [162] SELECT catID, catPath FROM swt_categories
1782513764.93210.0008 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-06-26 22:42:00' AND postSlug='container-spills-and-coastal-clean-ups'
1782513764.95260.0204Using template: /templates/blog/post.html
1782513764.9530.0004 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1782513764.95430.0013Using template: /templates/pages/attributes/seo.html
1782513764.95450.0002 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1782513764.95510.0007 [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
1782513764.95630.0012 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1782513764.95920.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782513764.95970.0005 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782513764.96160.002Using template: /templates/navigation/ps_nav_template.html
1782513764.96170 [6] Using template: /templates/navigation/ps_nav_template_children.html
1782513764.96250.0008 [4] Using template: /templates/navigation/ps_nav_template_children.html
1782513764.9630.0005 [29] Using template: /templates/navigation/ps_nav_template_children.html
1782513764.96450.0015 [10] Using template: /templates/navigation/ps_nav_template_children.html
1782513764.96510.0006 [7] Using template: /templates/navigation/ps_nav_template_children.html
1782513764.96550.0004 [9] Using template: /templates/navigation/ps_nav_template_children.html
1782513764.9680.0026 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1782513764.96880.0008 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1782513764.97090.002 [1] Using template: /templates/navigation/breadcrumbs.html
1782513764.97130.0004Using template: /templates/blog/post.html
1782513764.97150.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1782513764.97210.0005Using template: /templates/blog/author.html
1782513764.97240.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='container-spills-and-coastal-clean-ups')) 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-26 22:42:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1782513764.97430.0019 [1] SELECT FOUND_ROWS() AS `count`
1782513764.97460.0004 [1] Using template: /templates/blog/post.html
1782513764.97660.0019Using template: /templates/blog/comment_form.html
1782513764.97730.0007 [4] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=3876 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1782513765.0250.0478 [4] Using template: /templates/blog/comment.html
1782513765.02650.0014Using template: /templates/blog/post.html
1782513765.02660.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1782513765.02730.0006 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1782513765.0280.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1782513765.02840.0005 [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
1782513765.03040.002 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782513765.03080.0004 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782513765.03250.0017 [6] Using template: /templates/navigation/footer-nav.html
1782513765.03350.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782513765.0340.0005 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782513765.03440.0004 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1782513765.03660.0023 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782513765.0370.0004 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782513765.03890.0018 [10] Using template: /templates/navigation/footer-nav.html
1782513765.0410.0021 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1782513765.04150.0005 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1782513765.0420.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
1782513765.04420.0022 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782513765.04460.0004 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782513765.04640.0018 [29] Using template: /templates/navigation/footer-nav.html
1782513765.04770.0014 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1782513765.04820.0005 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1782513765.04860.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
1782513765.05050.0019 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1782513765.05090.0004 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1782513765.05260.0017 [10] Using template: /templates/navigation/footer-nav.html
1782513765.05410.0015Request time: 0.1639
1782513765.05410Process time: 0.1638
1782513765.05410Memory: 1.6316