Skip to main content

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.

Unhog showing where the local space in a OneDrive folder goes

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

MIT

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)

Source distribution for unhog 0.7.0
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)

Table of built distributions (wheels) for unhog 0.7.0
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page