Unhog
Reclaim space on your disk hogged by OneDrive, Dropbox, SharePoint offline files.
Unhog draws a SpaceMonger-style treemap of the files in a cloud-synced folder that actually occupy local disk space. "Files On-Demand" keeps most files online-only; Unhog shows only the hydrated ones, so you can see where the local space goes and free it up.
The treemap fills in while the folder is being scanned, so large folders can be explored right away, with a progress bar showing how far the scan has got. Optionally the free space on the drive is drawn next to the folder, on the same scale, to show how much the local copies matter.
Unhog runs on Windows, Linux and macOS. Telling online-only placeholders from downloaded files relies on a Windows file attribute, so that part works on Windows only; on Linux and macOS every file counts as local and Unhog is a plain, fast disk-usage treemap for any folder. Windows users can download a ready-to-run zip; on every platform it can be installed with pip.
Download (Windows)
Download Unhog.zip (latest release)
Requires Windows 10 or 11. No installation needed. All releases, with release
notes, are listed on the releases page.
Each release also offers Unhog.exe, the same program packed into a single
file; it is handy for copying around, but Windows Defender is more likely to
mistrust it, so the zip is the recommended download.
The files are not code-signed. When you run Unhog the first time, Windows SmartScreen may show "Windows protected your PC". Click More info, then Run anyway. If Defender removes the file as a suspected threat instead (a false positive that new unsigned programs sometimes trigger), open Windows Security, Protection history, find the entry and choose Restore or Allow.
Run (Windows)
Unzip Unhog.zip anywhere, for example into your Documents or
Downloads folder. This creates a folder named Unhog. Open it and double-click
Unhog.exe. It scans your OneDrive folder and shows the treemap.
Keep Unhog.exe together with the _internal folder next to it; the program
does not run if the exe is copied out on its own. To put it on the desktop or
Start menu, right-click Unhog.exe and create a shortcut.
To scan a different folder, use the Browse... button, or start it from a command prompt with the folder as argument:
Unhog.exe D:\Other
Install with pip (Windows, Linux, macOS)
Unhog is on PyPI and needs Python 3.9 or later. The only dependency, Dear PyGui, has prebuilt packages for 64-bit Windows, Linux (x86-64 and ARM64) and Apple Silicon Macs, so no compiler is needed. The simplest way, if pipx is installed, is the same everywhere:
pipx install unhog
unhog
Or with a plain virtual environment:
Windows
py -m venv %LOCALAPPDATA%\unhog
%LOCALAPPDATA%\unhog\Scripts\pip install unhog
%LOCALAPPDATA%\unhog\Scripts\unhog
Windows Defender and SmartScreen have nothing to say about this route, since no unsigned exe is involved.
Linux
python3 -m venv ~/.local/share/unhog
~/.local/share/unhog/bin/pip install unhog
~/.local/share/unhog/bin/unhog
If python3 -m venv complains, install the venv package first (on Debian and
Ubuntu, sudo apt install python3-venv). Open in file manager uses the
desktop's file manager through D-Bus and works with GNOME Files, Dolphin,
Nemo, Caja and Thunar.
macOS
python3 -m venv ~/Library/unhog
~/Library/unhog/bin/pip install unhog
~/Library/unhog/bin/unhog
Use a Python from python.org or
Homebrew (brew install python). Intel Macs are not supported, because Dear
PyGui ships no package for them.
On every platform the unhog command takes an optional folder to scan, for
example unhog ~/Pictures; without one it scans your OneDrive folder on
Windows and your home folder on Linux and macOS. python -m unhog works as
well. To update later, run the same pip install with --upgrade (or
pipx upgrade unhog).
Freeing up space
To free the space a file or folder uses, right-click it in Unhog and choose Free up space. It marks the file, or everything in the folder, to be kept online-only, exactly as the command of the same name in Explorer does: nothing is deleted, the files stay in the cloud and are downloaded again when you open them. As OneDrive unloads the files Unhog takes them out of the treemap, so you can watch the folder shrink. This is the only thing Unhog does that changes anything on disk; unchecking Enable modifications in Settings... removes the command from the menu, and Unhog then only shows where the space goes. See USAGE.md for the details.
The same can be done in Explorer: right-click the item in Unhog and choose Open folder in Explorer (the item is selected there), then in Explorer right-click it and choose Free up space. Back in Unhog, right-click the folder and choose Rescan to see the result without scanning everything again.
On macOS the menu entry is Open folder in Finder, and OneDrive offers Remove Download in Finder's right-click menu; on Linux it is Open folder in file manager. On these platforms Unhog cannot tell which files are already online-only, so use it to find the big folders and check their state in the file manager.
How to use
Hover a rectangle for details, double-click a folder to zoom in, right-click for options. The toolbar filters by modification time, size and local storage. All controls and settings are explained in USAGE.md.
How it works
Unhog asks Windows which files in the folder are online-only placeholders and which are actually present on disk. It reads only the directory listing and never opens files, so scanning does not download anything.
It is tested with OneDrive, OneDrive for Business (SharePoint), and Dropbox but it should be compatible with other cloud storage providers as well. On Linux and macOS there is no such attribute, so every file counts as local and the treemap shows plain disk usage.
Privacy
Unhog runs entirely on your computer, does not connect to the internet, and does not send any information anywhere.
For developers
Running from source, tests, building the exe and making releases are described in DEVELOPMENT.md.
License
Metadata
Release files for unhog 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| unhog-0.7.0.tar.gz | 78.5 kB | With provenance | Details for unhog-0.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| unhog-0.7.0-py3-none-any.whl | Python 3 | none | any | Details for unhog-0.7.0-py3-none-any.whl |
Total release size: 131.1 kB
Release files / unhog-0.7.0.tar.gz
| Download URL | unhog-0.7.0.tar.gz |
|---|---|
| Size | 78.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
10e2c5d29765d4b3c724a2971d29d72e045402914f203a1da9f8ad3c28b69ded
|
|
BLAKE2b-256 checksum How to use checksums |
f7399d8653fa056dd23ce55d23e09a76ba6ebe03f6e525ef85935a9720583ded
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / unhog-0.7.0-py3-none-any.whl
| Download URL | unhog-0.7.0-py3-none-any.whl |
|---|---|
| Size | 52.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
24b7f3c3ec26c75de24aee97f3afb1ac6728b4125d30c86fe73061d750417629
|
|
BLAKE2b-256 checksum How to use checksums |
b039960bfe64d540879b0a7670a08efe919f88cb0cd3074f84e2b5614596b73c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logSecurity for unhog 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for unhog-0.7.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.