Keeping uploaded files organized inside CiviCRM can be a challenge. Over time, files from activities, contributions, and custom fields can pile up. Some are duplicates, others are tied to deleted records, and many no longer serve a purpose. The result is bloated storage, higher hosting costs, and confusion about which files are still in use.

To solve this, Skvare created the File Analyzer extension, a tool that automatically scans and organizes uploaded files across your CiviCRM site. It gives administrators a clear view of what is stored, what is in use, and what can safely be removed.
How the File Analyzer Works
The extension runs regular scans of CiviCRM’s file directories. It checks every file and compares it with CiviCRM’s database records to confirm whether the file is still linked to a contact, activity, custom field, or referenced in a WYSIWYG field such as CiviCRM mailings. Files that are not referenced anywhere are flagged as abandoned, and duplicates are grouped for review.
All results are stored in a structured database table, making it easy to build SearchKit reports and dashboards. Administrators can quickly see how much space is being used, sort files by type or size, and identify where cleanup will have the biggest impact.
The File Analyzer also supports bulk actions. Once the list of abandoned files is reviewed, administrators can remove them directly from the CiviCRM interface or set up a scheduled job to automate the process.
Built for Performance and Clarity
The extension was built using CiviCRM’s APIv4 and follows modern development practices. It scans in batches to handle large datasets efficiently and includes tools for image previews, file verification, and cleanup tracking.
It is designed to work safely. Before deletion, each file is verified against the database to confirm that it is not associated with any active record. Every cleanup action is logged, so administrators always know what was removed and when.
Real Results from Real Use
In one client deployment, the File Analyzer reviewed nearly 145,000 files across multiple directories. It identified more than 30,000 abandoned files and removed over 80,000 duplicates that were safely cleared from storage. After the cleanup, total disk usage was reduced by more than 100 gigabytes, cutting storage in half and improving system performance.
These results are typical for long-running CiviCRM sites that rely heavily on file uploads. Many organizations see similar savings once the extension is in place.
Why This Matters
CiviCRM’s flexibility is one of its greatest strengths, but that flexibility often means data builds up behind the scenes. The File Analyzer makes it easier to keep your system clean, efficient, and secure without manual effort.
By adding this extension, site administrators gain:
- A clear picture of all uploaded files and their purpose
- Confidence when cleaning up old or unused content
- Faster performance and smaller backups
- Reduced hosting costs and better long-term maintenance
At Skvare, we help organizations make the most of open-source tools like Drupal and CiviCRM. If you’d like to learn how the File Analyzer extension or other CiviCRM enhancements can simplify your system management, contact us today.