Skip to content
xwwrawPublic

About

Local-first desktop app for macOS, Windows and Linux that sorts your Downloads and other folders with rules you can preview and undo.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Repository files navigation

Dropzone

Dropzone

A calm desktop app that brings order to your Downloads and other folders,
with rules you can preview and changes you can undo.

Download Tests macOS, Windows and Linux MIT License

Dropzone showing a Downloads folder: space used by each kind of file, suggestions to sort 25 loose files and review 4 duplicates, and the files added most recently

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.

Contents

Download

Get the latest version

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.

What you get

  • 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 Space to 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 .git folder, package.json, Cargo.toml or 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.

Getting started

  1. 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 with chmod +x and run it.
  2. 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.

  3. Choose a folder. Click Use Downloads folder, or choose any other folder. On macOS the system asks for permission to let Dropzone read it.
  4. 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.

Everyday use

  • 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. Return moves it where the rules suggest, M picks another folder, D removes it, K keeps 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.

Keyboard shortcuts

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.

Rules

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.

Privacy

  • 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 /Applications on 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.

Where Dropzone keeps its files

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.

Troubleshooting

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

Building from source

Requirements

  • 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

Run it

git clone https://github.com/liwidale/dropzone.git
cd dropzone
npm ci
npm run dev

Useful scripts

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

Releases

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.

How it works

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
  1. Dropzone is built with Tauri. The interface is React and TypeScript, and every file operation happens in Rust.
  2. Scanning reads each folder and recognizes files by extension and by their first bytes. It also reads where a file came from: the kMDItemWhereFroms attribute on macOS, the Zone.Identifier stream on Windows and the user.xdg.origin.url attribute on Linux.
  3. 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_np on macOS, MoveFileExW on Windows, renameat2 on Linux), across drives a copy is checked before the original is removed.
  4. Files go to the system Trash or Recycle Bin, and Dropzone remembers exactly where each one landed so Undo can bring it back.
  5. 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.
  6. 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.
  7. The interface has no direct access to your files. It can only ask the Rust core, which checks every path it receives.

Project structure

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

Contributing

Issues and pull requests are welcome.

  • Run npm run lint, npm run typecheck and npm test before 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.

License

MIT © 2026 Liwidale

ゝ made by liwidale

About

Local-first desktop app for macOS, Windows and Linux that sorts your Downloads and other folders with rules you can preview and undo.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages