Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is organize?
organize is a free, open-source command-line tool for automating file management. Instead of manually sorting, renaming, and moving files, you write rules in a configuration file, and organize applies them for you. It runs on macOS, Windows, and Linux, and works as a scriptable alternative to GUI apps like Hazel or File Juggler.
Its rules follow a simple structure: locations (where to look), filters (what to match), and actions (what to do). A minimal rule that finds PDFs in your Downloads folder looks like this:
rules:
- name: "Find PDFs"
locations:
- ~/Downloads
subfolders: true
filters:
- extension: pdf
actions:
- echo: "Found PDF!"
What people use it for
- Sorting and tagging photos into folder structures based on EXIF data
- Renaming PDF invoices based on their contents
- Removing incomplete downloads or unused desktop files
- Freeing disk space by finding and removing duplicates
- Automating repetitive business file workflows
Key capabilities
- Safe moving, renaming, and copying with conflict-resolution options
- Fast duplicate detection
- EXIF tag extraction and text extraction from PDF, DOCX, and other formats
- A template engine, plus inline Python and shell commands for custom logic
- A simulation mode so you can preview changes before touching any files
Who it suits — and the trade-off
organize fits developers, sysadmins, and anyone comfortable editing a config file who wants repeatable, version-controllable automation. The trade-off is the command line: there is no point-and-click interface, so casual users may find a GUI tool friendlier. In exchange, you get flexibility that GUI apps rarely match, such as chaining filters or embedding Python.
Getting started
You need Python 3.9 or newer, then install via pip (the package is named organize-tool):
pip install -U organize-tool
Run organize new to create a config, organize edit to modify it, and organize show --reveal if you have trouble locating the file. Full documentation is at organize.
How do I install and set up organize for the first time?
Install organize through Python’s package manager, then create and test a rule before letting it touch real files.
Install
You need Python 3.9 or newer. Install the tool with pip using the package name organize-tool:
pip install -U organize-tool
Then confirm it is available:
organize --help
Create your first rule
Generate a starter configuration, then open it in your editor:
organize new
organize edit
A minimal rule looks like this:
rules:
- name: "Find PDFs"
locations:
- ~/Downloads
subfolders: true
filters:
- extension: pdf
actions:
- echo: "Found PDF!"
This rule searches ~/Downloads, including subfolders, and prints a message for each PDF it finds. The echo action is harmless, so it is a good first test.
If the configuration is hard to read in your editor, the documentation suggests:
organize show --reveal
Test before acting
The key setup step is to simulate. Run the rule without executing actions so you can see what would happen:
organize run --dry-run
Once the matches look correct, replace the echo action with a real one, such as moving or renaming files. organize supports safe moving, renaming and copying with conflict-resolution options, so you can decide how collisions are handled rather than overwriting by accident.
A practical first workflow
A common beginner setup is sorting PDF invoices or cleaning up downloads. Start with one location and one filter, confirm the dry run, then add actions and more rules.
Useful first checks:
- Confirm
organize --helpworks after installation. - Keep the first rule limited to one folder.
- Use
echoor dry-run output before moving anything. - Add filters gradually rather than building a large rule at once.
For the full configuration reference, including locations, filters, actions and templates, see the official documentation at organize.
What rules can I create to automatically sort and rename my files?
organize is a command-line, open-source file automation tool for writing rules that sort, rename, move, copy, tag, and clean up files automatically. You install it with pip install -U organize-tool (Python 3.9+), then run organize new and organize edit to create and edit your configuration. Rules are written in YAML and can be simulated before anything touches your files. It works on macOS, Windows, and Linux.
A useful way to think about each rule is in four parts:
- Locations — which folders to look in, and whether to include subfolders.
- Filters — which files to match, such as by extension, name pattern, EXIF data, or text extracted from PDFs and DOCX files.
- Actions — what to do with matches: move, rename, copy, delete, tag, or run a shell/Python command.
- Conflict handling — what happens when a target name already exists, so you do not silently overwrite files.
Example rules worth adapting
Sort PDF invoices by content or filename
rules:
- name: "Sort PDF invoices"
locations:
- ~/Downloads
subfolders: true
filters:
- extension: pdf
actions:
- move: ~/Documents/Invoices/
To rename them consistently, add a rename action using a template that pulls from the original filename or extracted text. The exact template syntax is in the full documentation.
Sort pictures by EXIF date
Match image extensions, then move or rename into folders built from EXIF date fields. This is one of the tool's listed use cases: sorting and tagging pictures into folder structures based on EXIF data.
Remove incomplete downloads
Filter for partial-download extensions such as .part or .crdownload in ~/Downloads, then delete. Run it in simulation mode first to see what would be removed.
Find and remove duplicates
Use the built-in fast duplicate detection as a filter, then decide whether to delete, move, or keep the newest copy. Duplicate removal is destructive, so simulate first and consider moving duplicates to a quarantine folder instead of deleting.
Clean up the desktop
Match files older than a chosen age in ~/Desktop and move them into an archive folder, or delete unused ones.
Automate business processes
Chain filters and actions for recurring workflows, for example renaming scanned documents based on extracted text and filing them by client or date.
Deciding which rule to write first
Start with the folder that causes you the most friction. If you cannot find downloads, write a cleanup rule. If invoices pile up, write a rename-and-file rule. Keep each rule narrow: one location, one clear filter, one action. Run organize in simulation mode, check the proposed changes, then run it for real.
The key trade-off is flexibility versus safety. Inline Python and shell commands give maximum control, but they also bypass the tool's built-in conflict resolution, so use native actions where possible and reserve scripts for cases the built-in actions cannot handle.
How can organize help me clean up my Downloads or Desktop folder?
organize is a command-line, open-source file management automation tool. You write rules once in a configuration file, then run them to sort, rename, move, deduplicate or delete files automatically. It is aimed at people who are comfortable editing a text config and running shell commands, and it works on macOS, Windows and Linux.
For a messy Downloads or Desktop folder, the practical workflow is:
- Install it with pip (the package name is
organize-tool, Python 3.9+). - Run
organize newto create a starter config, thenorganize editto change it. - Write rules with three parts: locations (where to look), filters (which files match) and actions (what to do).
- Simulate before committing: run
organize simfirst, so you can see what would happen without touching your files.
A minimal rule from the documentation looks like this:
rules:
- name: "Find PDFs"
locations:
- ~/Downloads
subfolders: true
filters:
- extension: pdf
actions:
- echo: "Found PDF!"
The echo action is just a test. In real use you would swap it for a move, rename, copy or delete action.
What it can actually do for these folders
- Sort by type or content: match on extension, but also on text extracted from PDF, DOCX and similar files, so invoices can be renamed or filed by what is inside them.
- Rename systematically: use the template engine to build names from dates, EXIF data or extracted text.
- Sort photos by EXIF: group images into folder structures based on when and how they were taken.
- Clean up junk: remove incomplete downloads, delete unused desktop files, or free space by finding duplicates.
- Handle conflicts safely: moving, renaming and copying come with conflict-resolution options, and everything can be simulated first.
- Go beyond built-ins: inline Python and shell commands can act as filters or actions when the standard ones are not enough.
Who it suits, and the trade-off
This is a good fit if you want repeatable, version-controllable cleanup and are willing to learn a small rule syntax. If you would rather click through a graphical app, organize will feel indirect; it is explicitly a command-line alternative to GUI tools. The payoff is that a rule you get right keeps working, and you can preview each change instead of trusting it blindly.
A sensible next step
Start with one narrow rule for ~/Downloads — for example, move only PDFs older than a certain age into a ~/Documents/Invoices folder — run organize sim, check the output, then run it for real. Add rules one at a time rather than writing a large config at once.
For background on the project and its documentation, see organize documentation. If you prefer a graphical tool instead, Hazel is a well-known macOS option and File Juggler a Windows one; both are commercial, unlike organize.
Can I test my file organization rules before applying them to my files?
Yes. organize is built around a dry-run-first workflow: rules can be simulated before any file is moved, renamed, copied or deleted, so you can see what would happen and adjust the configuration first.
H3 How to test safely
- Write your rule, then run a simulation instead of the real run. The documentation highlights that "everything can be simulated before touching your files."
- Start with a narrow
locationsentry (for example a single test folder) rather than your whole home directory. - Use an
echoaction to print what matched, as in the first-rule example, so you can confirm filters work before adding move or rename actions. - Keep
subfoldersoff until the top-level behavior looks right, then enable it. - When the simulated output matches your expectations, run the real command and check a few files by hand.
H3 A practical scenario
Suppose you want to rename PDF invoices in ~/Downloads based on their content. First create a rule with an extension: pdf filter and an echo action, then simulate. If the output lists the right files, add the rename action and simulate again. Only after that do you let it modify the files. This staged approach is the main reason organize suits cautious users who don't want a script to rearrange their disk on the first try.
H3 Where to go next The official documentation is at organize; the "Example rules", "Filters" and "Actions" sections are the fastest way to see what a testable rule looks like. If you prefer a graphical tool, Hazel and File Juggler are the macOS and Windows counterparts mentioned in the docs, though their testing workflows differ.
How does organize compare to Hazel or File Juggler for automating file management?
organize is a command-line, open-source tool that positions itself as an alternative to Hazel (macOS) and File Juggler (Windows). The core difference is the interface and platform model, not the basic idea: all three watch for files and apply rules to sort, rename, or move them. organize does it through a YAML configuration file and shell commands, while Hazel and File Juggler offer graphical rule builders on their respective platforms.
H3 How the approaches differ
| Aspect | organize | Hazel (macOS) | File Juggler (Windows) |
|---|---|---|---|
| Interface | Command line + config file | GUI rule builder | GUI rule builder |
| Platform | macOS, Windows, Linux | macOS only | Windows only |
| Cost model | Free and open source | Commercial | Commercial |
| Extensibility | Inline Python and shell commands | Built-in actions, AppleScript | Built-in actions |
The practical trade-off: graphical tools are faster to start with if you want to click together a rule and see it immediately. organize asks you to write rules, but that makes complex logic easier to version, copy between machines, and extend with scripts. Its documentation lists use cases such as sorting pictures by EXIF data, renaming PDF invoices based on file content, clearing incomplete downloads, and removing duplicates.
H3 Who should pick which
- Choose
organizeif you work across Linux and other systems, want rules stored as text, or need Python/shell hooks. - Choose Hazel if you are on macOS and prefer a visual rule editor with tight system integration.
- Choose File Juggler if you are on Windows and want a GUI without scripting.
A useful next step is to test one concrete scenario. For example, write a rule that finds PDFs in ~/Downloads and echoes their names, run it in simulation mode, and confirm the matches before letting it move anything. organize documents a --simulate style dry run, which is the right way to build confidence before automating real folders. If you want the official project details, see organize documentation.
User reviews (0)