Services
Custom software developmentUmbraco developmentWeb developmentCRM developmentERP developmentAI & LLM integration.NET development & modernizationE-commerce developmentIntegrations & automationCloud & DevOpsMaintenance, support & project rescueDedicated teams & white-label
Our Work
Case studiesProducts
About Blog Contact
Umbraco package · Media

MediaRemove

Find media files no page uses and delete them in bulk from the Umbraco back office

Free Umbraco package that scans your content for media references, lists the files nothing points to, and deletes them in bulk with an exclusion list as a safety net.

dotnet add package MediaRemove
Media Remove dashboard in the Umbraco back office showing relations being rebuilt with 15 items processed and auto-refresh every 5 seconds enabled
Downloads4,947
Latest versionv1.0.6
Works withUmbraco 10–13
LicenseFree · MIT
Why it exists

The problem it solves

Media libraries grow faster than anyone cleans them. Editors upload images and files, pages change, and old assets stay behind with no page linking to them. Umbraco has no built-in way to list media that nothing references, so cleanup means guessing or checking items one by one. MediaRemove builds that list for you and lets you delete it safely.

Typical uses

  • Clean up a media library after a site redesign retired hundreds of pages
  • Cut storage and backup size before moving a site to new hosting
  • Remove test uploads and duplicate files left by editors
  • Audit media before an Umbraco upgrade

At a glance

NuGet package
MediaRemove
Latest version
v1.0.6 · 4 releases
Umbraco
Umbraco 10–13
.NET
net8.0
First released
Mar 2023
Last updated
Sep 2025
Downloads
4,947
License
MIT
Requirements
Umbraco 13 for version 1.0.5 and later (Umbraco 10–12 use version 1.0.4).NET 8 for the current versionAdministrator access to the Settings section
Features

What MediaRemove does

Relation rebuild

One button scans every content item and records which media it points to. Progress shows the number of items processed, with an optional auto-refresh every 5 seconds.

Unused media report

A table lists every media item with no references, with its name, path, media type, a link to the file and a direct link to edit it in the back office.

Pick what goes

Each row has a checkbox, so you can keep individual files before you delete the rest.

Exclusion list

Upload a .txt file with one media URL per line, such as /media/1127/logo.png, to protect files that templates or code use but content does not.

Bulk delete

Remove all selected media in one action and follow the count of deleted items as it runs.

Runs in the background

Scanning and deleting run on a background thread, so you can switch tabs or close the browser while the job finishes.

How it works

From install to first use

dotnet add package MediaRemove
  1. Install the package

    Add MediaRemove from NuGet and restart the site. A Media Remove dashboard appears in the Settings section for administrators.

  2. Rebuild relations once

    Click Rebuild relations so the package can map which content uses which media.

  3. Find unused media

    Click Get unused media and review the list. Load your exclusion file and untick anything you want to keep.

  4. Delete

    Click Delete found media and watch the progress counter until the job is done.

Screens

See it in the back office

FAQ

MediaRemove questions

Need a custom feature or help installing? OSKI built this package and can help.

Contact us
Which Umbraco versions does MediaRemove support?+

Version 1.0.5 and 1.0.6 need Umbraco 13 on .NET 8. Versions 1.0.3 and 1.0.4 target Umbraco 10 and later on .NET 6. The dashboard uses the AngularJS back office, so Umbraco 14 and newer are not supported.

Does it cost anything?+

No. MediaRemove is free and released under the MIT license.

How do I keep files that templates or code use?+

Create a .txt file with one media URL per line and load it with Load exclusion list. Matching items are left out of the delete. You can also untick single rows in the table.

Do I need to run Rebuild relations every time?+

Run it once after you install the package. Run it again if you want a fresh scan after large content changes.

Can I close the browser while it runs?+

Yes. Relation rebuilding and deletion run in the background, and you can come back to check progress.

Where is the source code?+

The repository is on GitHub at github.com/Kirill19837/MediaRemove. Report problems there or contact OSKI.

Start a project

Need MediaRemove customized or a package built for your Umbraco site?

A spec, a Figma file or three paragraphs is enough to start.

  1. First reply · from an engineer, not a sales rep
  2. 30-min call · with Roman, our CTO, to clarify scope
  3. After the call · a written proposal with plan, team and price
Roman Oleksuk
Roman Oleksuk, CTOPrefer to talk? Pick a slot in Roman's calendar
We reply from a human mailbox. No newsletters. Your brief stays under NDA on request. We use your details only to reply; see our privacy policy.