A calm desktop app that brings order to your Downloads and other folders,
with rules you can preview and changes you can undo.
Captured from the macOS app running on a sample Downloads folder.
Downloads folders fill up with installers, screenshots, PDFs and archives until nothing is easy to find. Dropzone recognizes what each file is, suggests where it belongs and moves it only after you have seen the plan. Every change goes into History, so you can put things back at any time. Everything happens on your computer.
- Download
- What you get
- Getting started
- Everyday use
- Keyboard shortcuts
- Rules
- Privacy
- Where Dropzone keeps its files
- Troubleshooting
- Building from source
- How it works
- Project structure
- Contributing
- License
| File | Works on | |
|---|---|---|
| macOS | Dropzone-<version>-mac.dmg |
macOS 12 or later, Apple silicon and Intel |
| Windows | Dropzone-Setup-<version>.exe |
Windows 10 and 11, 64-bit |
| Linux | Dropzone-<version>-linux-amd64.deb |
Debian, Ubuntu and other Debian-based systems, 64-bit |
| Linux | Dropzone-<version>-linux-x86_64.AppImage |
most other 64-bit distributions |
A ZIP of the macOS app is also attached.
Each release also lists SHA256SUMS.txt so you can check the download.
- Sort with rules you control. Ten starting rules sort loose files by kind into folders like Images, Documents and Installers. Edit them, add your own and drag them into the order you want.
- Review before anything moves. Sorting opens a preview grouped by destination. Leave out any file you like. When a name is already taken, the file gets a number, so nothing is ever replaced.
- Undo anything you move. Every change is recorded in History. Undo puts files back where they were, including files moved to the Trash, and says plainly when something can no longer be restored.
- Delete right away when you want to. Choose Delete Immediately for any file, or set Dropzone to skip the Trash for everything it removes. Dropzone always asks first, because deleted files can't be restored.
- Find exact duplicates and similar images. Dropzone compares file contents, so copies with different names are found too. It also spots images that look almost the same, like resized copies or a series of screenshots. You choose which copy stays, and one always does.
- Spot what you no longer need. Dropzone notices installers for apps you already have and ZIP archives you have already extracted, and suggests removing them.
- Go through files one by one. A focused view shows each loose file large, with a suggested destination. Keep, move or remove it with a single key.
- Look before you decide. Press
Spaceto preview images, videos, audio, PDFs, text and code without opening another app. - Rename in place. Rename one file, or many at once with a pattern like
{date} {name}or find and replace, with a preview before anything changes. - Rules from what you do. Move a few files into a folder, and Dropzone offers to make a rule from it.
- Extract archives. Extract a ZIP archive next to it with one click, and undo it if you change your mind.
- Clean up on a schedule. Let rules that move files to the Trash run once a week on their own.
- Always at hand. A menu bar icon shows how many files wait to be sorted, and a notification tells you when Dropzone sorted or cleaned up on its own.
- Drag files out. Drag files from Dropzone straight into other apps.
- See what you have. Files are recognized by their contents as well as their names, including screenshots, unfinished downloads and files without an extension. The site a file came from is shown when your browser or system recorded it.
- Code projects stay intact. Folders with a
.gitfolder,package.json,Cargo.tomlor another project file are protected. Sorting and duplicate cleanup never touch them, and moving their files by hand asks first. - Sort new files automatically. Turn it on for a folder, and files that arrive from then on are sorted as soon as they stop changing. Rules that move files to the Trash only run when you sort by hand.
- Find files fast. Search by name, kind or source, filter by kind, and open the inspector for details about any file.
- Feels at home on every system. On macOS a native menu bar and translucent sidebar, on Windows the Recycle Bin and File Explorer, on Linux the standard Trash. Light and dark appearance everywhere.
- Install Dropzone.
- macOS: open the DMG and drag Dropzone to Applications.
- Windows: run the setup file. It installs Dropzone for your account only.
- Linux: install the DEB with
sudo apt install ./Dropzone-<version>-linux-amd64.deb, or make the AppImage executable withchmod +xand run it.
- Open it the first time. Dropzone isn't signed yet, so your system asks once.
-
macOS: right-click Dropzone in Applications and choose Open. If macOS still refuses, run this in Terminal:
xattr -dr com.apple.quarantine /Applications/Dropzone.app
-
Windows: if SmartScreen appears, click More info, then Run anyway.
-
- Choose a folder. Click Use Downloads folder, or choose any other folder. On macOS the system asks for permission to let Dropzone read it.
- Review and sort. The overview shows what is in the folder and what can be sorted. Click Review, untick anything you want to keep where it is and click Sort.
- Overview shows how much space each kind of file takes and suggests what to do next: files to sort, duplicates, installers you no longer need, unfinished downloads and very large files.
- All files and the kinds in the sidebar list every file. Switch between everything and the top level only, sort by any column and select files to open, show in Finder, move or trash.
- Duplicates groups identical files, and Similar images groups images that look almost the same. Mark which copies stay and move the rest to the Trash after a final review.
- One by one shows each loose file at the top level large.
Returnmoves it where the rules suggest,Mpicks another folder,Dremoves it,Kkeeps it and←goes back. - Rules decide where files go. Turn them on and off, edit them or change their order.
- History lists every change with an Undo button.
- Add more folders with Add folder in the sidebar, or drop a folder onto the window.
- Right-click a file to preview, rename, extract, move or remove it.
- Close the window and Dropzone keeps running in the menu bar, so automatic sorting and cleanup keep working. Turn this off with Show in menu bar in Settings.
| Action | macOS | Windows and Linux |
|---|---|---|
| Add a folder | ⌘O |
Ctrl+O |
| Sort files | ⇧⌘S |
Ctrl+Shift+S |
| Undo the last change | ⌘Z |
Ctrl+Z |
| Search | ⌘F |
Ctrl+F |
| Refresh | ⌘R |
Ctrl+R or F5 |
| Overview, All files, Duplicates, Rules, History | ⌘1 to ⌘5 |
Ctrl+1 to Ctrl+5 |
| Show or hide the inspector | ⌥⌘I |
Ctrl+Alt+I |
| Settings | ⌘, |
Ctrl+, |
In the file list: ↑ ↓ move the selection, Shift extends it, Enter opens the selected files, Space previews the selected file and Esc clears the selection. In the preview, ↑ ↓ show the next or previous file. ⌘⌫ on macOS and Delete on Windows and Linux move the selected files to the Trash. ⌥⌘⌫ on macOS and Shift+Delete on Windows and Linux delete them immediately.
A rule has one or more conditions and an action. A file must match every condition.
| Condition | Example |
|---|---|
| Kind | Images, PDFs, apps and installers |
| Extension | pdf, docx |
| Name | invoice, or a pattern like *.tmp |
| Downloaded from | github.com |
| Date added | more than 30 days ago |
| Size | larger than 500 MB |
The action moves matching files to a folder inside the one you are sorting, for example Invoices or Work/Invoices, or to any folder you choose. Files can be grouped into subfolders by year or by month. A rule can also move files to the Trash, or delete them immediately when Removing files in Settings is set to Delete immediately.
Rules run from top to bottom, and the first rule that matches a file decides where it goes. Only files at the top level of a folder are sorted. Files already in subfolders, unfinished downloads and files inside code projects stay where they are.
- Everything stays on your computer. Dropzone has no account, sends no analytics and never connects to the internet.
- It reads only the folders you add. Moves happen with the same rights you have in your file manager.
- File contents are read only to recognize file types and to compare possible duplicates.
- You can clear History at any time in Settings.
- Checking for installed apps only reads the names of your apps, in
/Applicationson macOS, the Start menu on Windows and the app launchers on Linux. - Removing files in Settings decides whether removed files go to the Trash, where you can restore them, or are deleted right away.
| System | Folder |
|---|---|
| macOS | ~/Library/Application Support/com.liwidale.dropzone |
| Windows | %APPDATA%\com.liwidale.dropzone |
| Linux | ~/.local/share/com.liwidale.dropzone |
The folder holds config.json with your folders, rules and settings, and history.json with the record of changes. While a change is running, journal.json and journal.log sit next to them and are removed when it finishes.
"Dropzone can't open Downloads". On macOS, the system needs your permission first. Click Open System Settings, go to Privacy & Security → Files and Folders and allow Dropzone to read the folder. On Windows and Linux, check that your account can read and change the folder. Then click Try again.
A folder isn't available. It may have been renamed, moved or be on a drive that isn't connected. Click Locate to point Dropzone to its new place, or remove it from the sidebar.
Sorting is paused for a folder.
The folder contains a project file such as package.json, so Dropzone treats it as a code project. If it isn't one, turn on Sort this folder anyway in Rules.
Undo couldn't put a file back. History shows the reason for each file. A file moved to the Trash or the Recycle Bin can't come back after it was emptied, a file deleted immediately can't come back at all, and a file that was moved or deleted after sorting stays where it is now.
Dropzone closed while it was sorting. On the next launch it finishes the record of what happened and offers to undo the part that was done. Files it hadn't reached yet were not touched.
-
Node.js 24 or later, with npm
-
Rust stable
-
macOS: the Xcode command line tools (
xcode-select --install) -
Windows: the Visual Studio Build Tools with the "Desktop development with C++" workload. WebView2 is already part of Windows 10 and 11.
-
Linux: the WebKitGTK development packages. On Debian and Ubuntu:
sudo apt install libwebkit2gtk-4.1-dev build-essential file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
git clone https://github.com/liwidale/dropzone.git
cd dropzone
npm ci
npm run dev| Command | What it does |
|---|---|
npm run dev |
Run the app with live reload |
npm run build |
Build the app and its installers for your system into src-tauri/target/release/bundle |
npm test |
Run the Rust tests |
npm run lint |
Lint the TypeScript |
npm run typecheck |
Check the TypeScript types |
npm run format |
Format the TypeScript and CSS |
npm run icons |
Regenerate the app icons from code |
Every push to main runs .github/workflows/ci.yml on macOS, Windows and Linux. It checks formatting, lints, type checks, runs the tests and builds the app on each system. Pushing a tag like v1.2.0 runs .github/workflows/release.yml. It builds a universal macOS app, a Windows installer and Linux DEB and AppImage packages, then publishes a release with the GitHub CLI. The release notes come from the matching section of CHANGELOG.md.
React interface ──IPC──▶ Rust core ──▶ your folders
│
├─ scan recognizes files by name, contents and macOS metadata
├─ rules builds a plan, nothing moves yet
├─ apply moves files one by one, writing a journal as it goes
├─ history records every change so it can be undone
└─ watch notices new files for automatic sorting
- Dropzone is built with Tauri. The interface is React and TypeScript, and every file operation happens in Rust.
- Scanning reads each folder and recognizes files by extension and by their first bytes. It also reads where a file came from: the
kMDItemWhereFromsattribute on macOS, theZone.Identifierstream on Windows and theuser.xdg.origin.urlattribute on Linux. - Sorting first builds a plan. Before each move, Dropzone checks that the file hasn't changed since you reviewed it and that it lives inside a folder you added. Moves never overwrite anything: on the same drive they use an exclusive rename (
renamex_npon macOS,MoveFileExWon Windows,renameat2on Linux), across drives a copy is checked before the original is removed. - Files go to the system Trash or Recycle Bin, and Dropzone remembers exactly where each one landed so Undo can bring it back.
- Each change is written to a journal before it happens. If Dropzone stops halfway, the next launch works out what was done from the journal and the files on disk.
- Duplicates are found by size first, then by a fast fingerprint of the start and end of each file, and finally by a full BLAKE3 hash. Similar images are compared by a small picture of their brightness and colors, so they match even after resizing.
- The interface has no direct access to your files. It can only ask the Rust core, which checks every path it receives.
src/ React interface
components/ sidebar, toolbar, file list, inspector and shared controls
views/ overview, files, duplicates, rules, history and the review sheets
styles/ design tokens and app styles
src-tauri/ Rust core
src/scan.rs folder scanning and project detection
src/kinds.rs file recognition
src/rules.rs rules and matching
src/engine.rs plans, applying changes, undo and recovery
src/ops.rs safe moves, copies and the Trash on each system
src/dupes.rs duplicate detection
src/similar.rs similar images
src/insights.rs extracted archives, installed apps and ZIP extraction
src/tray.rs menu bar icon
src/alerts.rs notifications
src/watch.rs folder watching and automatic sorting
branding/ app icon
scripts/ icon generator
Issues and pull requests are welcome.
- Run
npm run lint,npm run typecheckandnpm testbefore opening a pull request. - New user-facing text goes through
tr(). The English text is the key. - Every change to files must stay reversible, be recorded in History and never overwrite an existing file.
MIT © 2026 Liwidale
ゝ made by liwidale
