ShareMaster V2 is in beta, a complete rebuild. See what is new and request access →
Features All features overview
Migration Tools Overview Structure and content OneDrive ↔ SharePoint Content only Structure only Move / Copy Upload from this computer Download to this computer Dropbox to SharePoint Resume and incremental runs
Recycling Bin Overview Browse a site's recycle bin Empty recycle bins in bulk Restore and purge history
Archive Overview Configure the tenant On Demand Archive Restore Archived Files Archive Savings Report Blob Viewer
Optimise Storage Tools Overview Delete all items in a list Delete all files and folders in a library Remove empty folders Remove duplicate files Reduce image sizes Delete sites and subsites
SharePoint Tools Overview Tenant Explorer SharePoint Explorer Easy Settings Fix renamed groups List Explorer Search the Preservation Hold Library
Replace Overview Replace in SharePoint Replace in local files Find password-protected files
Shared Links Overview Report shared links Report unique permissions Remove a person from sharing links Remove shared links Remove unique permissions
Version History Overview Version trimming Version trimming report Reset file version
Reports Overview Inventory report Folder inventory Site and subsite storage Security matrix Teams permissions Pre-migration analysis Compare items Dropbox to Microsoft 365 compare Duplicate file report Empty folder report Image size report Recycle bin report Unused licences Report history
V2 beta Pricing Demos Blog Guides Use cases Compare Tools Alerts FAQ Contact Sign in Start free trial
  1. Home
  2. Documentation
  3. Reports

Empty folder report

Folders the clean-up would remove

The dry run for Remove empty folders. It lists every empty folder the clean-up would move to the recycle bin, including the ones that are not empty yet but become empty once the empty folders inside them have gone. Nothing is removed, so this is the version you send to a data owner before anyone agrees to anything.

Reads only. Nothing in SharePoint is changed.

What it tells you

  • Exactly which folders would go, with the path and the full server-relative URL of each.
  • Which of them are empty outright and which only become empty once their empty children are removed. That distinction is the whole reason a first look at a library undercounts.
  • What a cut-off date would protect: set one and recently touched folders move to their own sheet with the reason they were kept.
  • Anything that could not be scanned, and why, rather than a quietly shorter list.

How it runs

  1. Sign in and pick a scope. Clicking the tile asks which account to use and how to connect, signs you in if you are not already, and drops you straight on the site list. No feature page asks you to connect a second time. Sites, libraries or individual folders.
  2. Set the options. Include subsites, and optionally a cut-off date so anything modified since then is left alone.
  3. It scans, bottom up. Working from the deepest folder outwards is what finds the folders that only become empty once their children go.
  4. Save the workbook. Then, if you agree with it, run Remove empty folders from Optimise Storage Tools.

How it works

Only document libraries are read. With subsites included, a whole site expands into its subsites; a library you tick by name is read even if it is hidden or a system library. Each library is read in one pass, folders and files together, recording each folder's path and when it was last changed. The library's Forms folder and everything under it are ignored.

The verdict is worked out from that one read, from the deepest folder upwards. A folder qualifies when nothing is filed directly in it, it was not changed after your cut-off date, and every folder inside it also qualifies. A folder with no subfolders at all is reported as empty; one whose subfolders would all go is reported as empty after cascade. A folder changed after the cut-off is kept, and so is every folder above it, and those appear on the cut-off sheet with the reason.

A library that is only partly read is not reported at all, because a short read would make folders look emptier than they are; it is listed as skipped with the reason instead. The same goes for a library whose top folder cannot be read. Other libraries carry on. The workbook goes into History when the run ends.

What you get

An Excel workbook, named like contoso-empty-folder-report-20260901-142207.xlsx, kept in Report History whether or not you save it. The Emptiness column is the one to read: it separates folders that are empty now from folders that become empty as a consequence.

Summary sheet

Scope, options, counts, and anything that could not be scanned.

Folders sheet

Every folder the clean-up would remove.

ColumnExample
SiteContoso Projects
Site URLhttps://contoso.sharepoint.com/sites/projects
LibraryShared Documents
Folder pathClients/Northwind/2019
Folder name2019
Depth3
Last modified2021-03-08
EmptinessEmpty after cascade
OutcomeWould be moved to the recycle bin
Full URL/sites/projects/Shared Documents/Clients/Northwind/2019

Kept by cut-off date sheet

Only when you set a cut-off. Folders that qualified but were protected, and why.

ColumnExample
Folder pathClients/Fabrikam/Draft
Last modified2026-08-27
Why it is keptModified after the cut-off date

What you need

  • Read access to the libraries in scope. The report itself needs nothing more, because it does not remove anything.

What it will not do

  • A folder holding only hidden or system items is not empty, and is not listed.
  • The library is live while you read the report. A folder listed as empty this morning may have a file in it this afternoon, which is why the removal run re-checks each folder before touching it and leaves alone anything that is no longer empty.
  • This report changes nothing. The removal is a separate, deliberate run.

See every feature