OmniSort
Windows 10 / 11 · local only · no installation

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
v0.2.5 One executable 100k files ≈ 49 s 966 tests
C:\Users\me\Downloads 6 selected · 152 KB
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
only ticked rows are moved Preview Organize
How it works

Analyze → preview → organize

The three steps keep their order. Nothing is touched before the analysis is finished, and nothing moves without your say-so.

1

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.

2

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.

3

Organize

Only the ticked items move, and every move is written down. Don't like the result? One [Undo] puts everything back.

Features

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.

Sorting rules

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.

  1. Your own rulescontract* → Documents/Contracts
  2. Extension.xlsx → Spreadsheets
  3. Name patterns*invoice* → Documents/Invoices
  4. DateImages/2026/09
  5. SizeVideos/Large
  6. Optional content checkfirst 8KB of text only
CategoriesExtension
Documentspdf doc docx hwp hwpx txt md rtf odt
Imagesjpg jpeg png webp gif bmp svg heic
Videosmp4 mov avi mkv webm
Audiomp3 wav flac m4a ogg
Archiveszip 7z rar tar gz
Spreadsheetsxls xlsx csv ods
Presentationsppt pptx odp
Installersexe msi msix
Othereverything else (unsorted)
The window

One table is the whole review

Filter with the search box, right-click to check something in Explorer, move only what you ticked.

OmniSort
The OmniSort window: the list of folders, how many files were found and how many are up for tidying, and a preview table with file, current location, new location, reason and size
A real session · 21 of 22 files up for tidying. The ⚠ row is a file whose contents do not match its extension
Admin report

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.

Tidy-ups128 runs
Files moved4,312
Volume moved62.4GB
Undone37
Failed2
Skipped19
Documents1,842
Images1,306
Archives604
Videos351
Other209
IDKindTimeStatusDone/Total
#128Move09-11 03:00Done412/412
#127Undo09-10 21:14Undone37/37
#126Move09-10 03:00Partial298/300
#125Recycle Bin09-09 18:02Done64/64
Safety

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:\)
CLI & scheduling

A console executable you can hang off Task Scheduler

Same database, same rules as the window. Without --apply it never moves a single file.

omnisort-cli.exe
# 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
Compared

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.

Comparison of sorting by hand, move-by-rule tools and OmniSort
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

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

  1. Download OmniSort.exe from the releases page (plus omnisort-cli.exe if you want the command line)
  2. Put it in any folder you like and double-click to run it
  3. Add your Downloads folder with [+ Add], then press [Analyze]
Download OmniSort.exe

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
Questions

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.