Before a single file moves,
it shows you where each one goes
It reads your Downloads folder, sorts by extension, name, date and size, and writes “why this folder” on every single row before anything moves. Only what you approve is moved — and all of it can be undone.
- Shows every file's destination and the reason, before it moves
- Moves only what you ticked, and puts it all back in one go
- Never overwrites — if something is already there, the kernel refuses the move
- One executable, no installation — everything happens on this PC
| Pick | File | New location | Why |
|---|---|---|---|
| contract_ACME_2026.pdf | Documents/Contracts | extension .pdf · name ‘contract’ | |
| ACME-invoice-0312.pdf | Documents/Invoices | extension .pdf · name ‘invoice’ | |
| screenshot 2026-09-10.png | Images/Screenshots | extension .png · name ‘screenshot’ | |
| sales_september.xlsx | Spreadsheets | extension .xlsx | |
| playlist-bounce.mp3 | Audio | extension .mp3 | |
| ⚠ quote_final.pdf | Documents/Quotes | says .pdf, but the contents are a program | |
| notes.txt | Documents | name already taken → notes (1).txt | |
| unknown-blob.qqq | Other | unrecognised extension | |
| VSCodeUserSetup-x64.exe | Installers | extension .exe |
Analyze → preview → organize
The three steps keep their order. Nothing is touched before the analysis is finished, and nothing moves without your say-so.
Analyze
Your folders are read in the background. Hidden and system files, symbolic links and folders like node_modules are skipped. You can cancel at any point.
Preview
File, where it is now, where it would go and why — all in one table. Name clashes are flagged up front, and the checkboxes are yours.
Organize
Only the ticked items move, and every move is written down. Don't like the result? One [Undo] puts everything back.
Only what a tidying tool needs — done properly
Your rules come first
Build rules from wildcards, regular expressions, extensions, size or age, and give them a priority. contract* → Documents/Contracts.
Sorting that shows its reasoning
Every row says how it was decided: “extension .pdf → Documents · name ‘invoice’ → Invoices”.
Undo
Source and destination are recorded per operation and walked back in reverse. If another file has appeared at the original spot, that one is skipped rather than overwritten.
Name clashes
A clash becomes report (1).pdf, or is skipped. Nothing is ever overwritten.
Exclusions
Keep hands off what should stay put: *.crdownload, anything under a size floor, whole folders.
Scheduled cleanup
Every day at the hour you pick: analyze only, or move as well. One line — schedule --install — and Task Scheduler is set up.
Long paths, non-Latin paths
Paths over 260 characters go through the \\?\ prefix, and Korean, Japanese and Chinese paths are handled as they are.
Faked extensions, spotted
A “quote.pdf” that is really a program, or a double extension like invoice.pdf.exe, gets a ⚠. Only the extensions worth faking are read — the first 512 bytes.
Find duplicate files
Size, then a 64KB hash from each end, then the whole file: three passes, and only the copies go to the Recycle Bin. The original is chosen by its name and kept.
History
Every scan and every move lands in SQLite. One row per file in operation_items: source, destination, status, reason, error.
Rule presets
Add a ready-made rule set for students, office work, developers or photo/design in one go. You see what would go where before adding it, and your own rules always come first.
Space finder
Large files, files untouched for ages, space per category and free disk space — shown by reading only. Clearing out touches only the files you pick, and only into the Recycle Bin.
Monthly usage stats
The Admin panel shows how much was organized each month, the overall success rate and the space freed via the Recycle Bin. Rules export as JSON, so you can share them with another PC.
A window that never freezes
Scanning and moving run on worker threads — about 5 seconds to scan and sort 10,000 files. Cancel midway and the record still stands.
Six steps, applied in order
Once a step decides, the ones below are not consulted. Date and size only add a subfolder after the category is settled.
- Your own rulescontract* → Documents/Contracts
- Extension.xlsx → Spreadsheets
- Name patterns*invoice* → Documents/Invoices
- DateImages/2026/09
- SizeVideos/Large
- Optional content checkfirst 8KB of text only
| Categories | Extension |
|---|---|
| Documents | pdf doc docx hwp hwpx txt md rtf odt |
| Images | jpg jpeg png webp gif bmp svg heic |
| Videos | mp4 mov avi mkv webm |
| Audio | mp3 wav flac m4a ogg |
| Archives | zip 7z rar tar gz |
| Spreadsheets | xls xlsx csv ods |
| Presentations | ppt pptx odp |
| Installers | exe msi msix |
| Other | everything else (unsorted) |
One table is the whole review
Filter with the search box, right-click to check something in Explorer, move only what you ticked.
What moved, and when — on one page
One button (or omnisort-cli report) saves everything tidied so far as a single HTML page. No server, no internet — keep it or pass it on as it is.
| ID | Kind | Time | Status | Done/Total |
|---|---|---|---|---|
| #128 | Move | 09-11 03:00 | Done | 412/412 |
| #127 | Undo | 09-10 21:14 | Undone | 37/37 |
| #126 | Move | 09-10 03:00 | Partial | 298/300 |
| #125 | Recycle Bin | 09-09 18:02 | Done | 64/64 |
It does not delete. It does not overwrite.
When a tidying tool gets it wrong, you lose data. So anything that cannot be undone was simply left out.
- Never deletes for goodDeleting means the Recycle Bin, always. Even folders left empty afterwards are sent there rather than removed.
- No overwriting — the kernel guarantees itThe move is asked for in a way the kernel refuses if something is already there. Even if a file appears between the check and the move, nobody else's file gets overwritten.
- Checked again at the last momentIf a file's size or timestamp changed after the preview, or it turned into a link, it is left alone.
- System folders are off limitsProtected paths are refused when you add a folder, and skipped if a scan runs into one.
- Everything shown before anything movesSource, destination and any name clash are all on show, and only ticked rows are touched.
- Write first, move secondEach item is written to the database first, then moved. Pull the plug halfway and the record still says how far it got.
- Files being written are left aloneFiles still downloading (.crdownload, .part) or changed moments ago are skipped automatically.
- Interrupted runs stay undoableIf the program dies mid-run, the next start works out how far it got and leaves it in a state you can undo.
- Links are not followedIt never steps outside through a symbolic link or junction, and refuses a destination whose path goes through one.
- No escaping the rootRules cannot contain
.., absolute paths or network paths, and if the final path lands outside the root folder, nothing moves.
Paths that can never be a destination
- C:\Windows
- C:\Program Files
- C:\Program Files (x86)
- C:\ProgramData
- %LOCALAPPDATA% · %APPDATA%
- C:\$Recycle.Bin
- System Volume Information
- a drive root (C:\)
We did not invent this list. We ran into it.
A program that moves files is dangerous not because it lacks features, but because files vanish in places nobody thought to look. Every item below is something we hit and fixed.
- Some files cannot go to the Recycle BinFiles on network or removable drives, files bigger than the bin itself, drives with the bin turned off. In those cases Windows deletes them for good, without asking. We check first, and if it cannot be done we leave the file alone and log why.
- Pull the USB mid-move and you lose both copiesMoving across drives means copying, then deleting the original. We wait until the copy has actually reached the disk before deleting anything. It is slower — and it is right.
- A folder may really be somewhere elseJunctions, 8.3 short names, admin shares (
\\host\C$), device paths. Four ways back into protected folders — each one blocked. - The name you just picked can be taken in that instantRight after we pick a free name, another program can create a file with it. We call the move so the kernel itself refuses — so even then we never overwrite someone else's file.
- Korean filenames from a Mac are not the same stringOn screen it reads
계약서.pdfeither way, but the stored form differs, so rules miss it silently. We line them up only when comparing — the filename itself is left untouched. - A log you can edit is not a logEvery tidy-up is sealed onto the one before it. Edit a single row, delete one operation, slip in a fake — everything after it stops matching, and it shows.
Not promises — the build enforces them
- No permanent deletion
- No overwriting
- Re-checked just before the move
- Protected paths refused
- Logged before moved
- Exactly one way out
For all six, code that breaks them cannot be released at all.
Check it yourself. The [Admin] screen shows how many requests actually left this PC. On a fresh install it reads “never”.
A console executable you can hang off Task Scheduler
Same database, same rules as the window. Without --apply it never moves a single file.
# register a folder to tidy omnisort-cli add "C:\Users\me\Downloads" # just see what would go where (nothing moves) omnisort-cli preview # add rules: contracts to Contracts, still-downloading files excluded omnisort-cli rules add --name contract --glob "contract*" --target Documents/Contracts omnisort-cli rules add --name partial --glob "*.crdownload" --exclude # do it for real · undo · check the log omnisort-cli run --apply --yes omnisort-cli undo omnisort-cli history # find duplicates · keep the original, rest to the Recycle Bin omnisort-cli duplicates omnisort-cli duplicates --trash # large files, old files, disk space (read-only) omnisort-cli space --old-days 365 # list the rule presets · add the student bundle omnisort-cli rules preset omnisort-cli rules preset student # keep the preview as CSV (opens in Excel) omnisort-cli export plan.csv # every day at 03:00 — one line, Task Scheduler included omnisort-cli config schedule_time 03:00 omnisort-cli schedule --install omnisort-cli schedule --check
Moving is easy. Moving to the wrong place is the hard part
Tools that watch a folder and move files by rule straight away are fast, but you only find out what went where after it has moved. OmniSort flips the order.
| Item | By hand | Move-by-rule tools | OmniSort |
|---|---|---|---|
| See the destination before moving | You judge each one | You find out after the move | Destination and reason for every file |
| When something lands in the wrong place | Down to your memory | Depends on the tool | Undoes whole operations, older ones too |
| Files with the same name | Relies on the overwrite prompt | Depends on the tool | Never overwrites, whatever happens |
| Files with a faked extension | Hard to notice | Doesn't look at the contents | Reads the contents, flags it with ⚠ |
| Clearing out duplicates and large files | One by one in Explorer | Needs a separate tool | In one program, Recycle Bin only |
| Internet & account | Not needed | Depends on the tool | Not needed, and by default nothing leaves the PC |
Download it and run it
There is no installer. Put the one executable in any folder you like and run it — that is all.
Three steps
- Download
OmniSort.exefrom the releases page (plusomnisort-cli.exeif you want the command line) - Put it in any folder you like and double-click to run it
- Add your Downloads folder with [+ Add], then press [Analyze]
v0.2.5 · 30.0 MB · SHA-256 5860ec06424701deb14ab387ab6917b21c1848b298494b7f24dc89e7e529953a
What you need
- Operating system
- Windows 10 / 11 (64-bit)
- Installation
- Not needed · no administrator rights either
- Internet
- Not needed · only the online features you turn on use it
- What stays behind
- The executable, the DB file for the records, and small marker files inside the folders it organized
If “Windows protected your PC” appears
OmniSort is code-signed, but a newly released version has few downloads so far, so SmartScreen may ask for confirmation for a while. Click [More info], check that the publisher is PROJECTTEAMFORYOU, then click [Run anyway]. If the publisher name is different or missing, don't run it.
To check that the file you downloaded is the one that was uploaded, open PowerShell in the folder that holds the exe, run the command below and compare the result with the SHA-256 on the releases page.
Get-FileHash .\OmniSort.exe -Algorithm SHA256
Worth knowing before you start
Does it upload my files anywhere?
No. Scanning, sorting, moving and logging all finish inside this PC, and no file name or path ever leaves it. Settings and logs live in one file: %LOCALAPPDATA%\OmniSort\omnisort.db.
Does it use the internet at all?
Not by default — not even once. It only fetches when you yourself turn on update checks, notices or download counts in the Admin panel, and even then no file information is sent (an update check carries only the version number). That screen spells out what goes out, right down to the address.
Is it free?
Yes. It is free to use — no account, no payment. And by default, no ads. If you turn on notices in the Admin panel and a promotional one comes in, it is clearly labeled ‘Ad’.
Does Space finder delete files?
No. Space finder only reads. Only the files you pick from the list and confirm go to the Recycle Bin, and you can restore them from there. Anything that can't go into the Recycle Bin — files on network drives or removable drives such as USB sticks, or files larger than the Recycle Bin — is not sent, and you are told so.
What if I don't like the result?
Press [Undo] and the last operation is walked back in reverse. You can also pick an older operation from the history and undo that. If a file of the same name has appeared back at the original spot, that one item is skipped rather than overwritten — and you are told which ones were skipped and why.
Will it keep re-sorting folders it already sorted?
Folders OmniSort created carry a marker and are skipped on the next scan. Files already sitting where they belong drop out of the list too.
What if a file is locked, or I lack permission?
That one item is recorded as failed and the rest carries on. The reason is in the history, and the file stays exactly where it was.
Do I have to install anything?
Download OmniSort.exe and run it. No administrator rights, nothing written to the registry. To get rid of it, delete the exe and the database folder above. If you turned on scheduled tidy-ups, first remove the Task Scheduler entry with omnisort-cli schedule --uninstall.