Local-only duplicate cleaner

Find
duplicates.
Keep the copy
you actually
want.

Onley scans your local storage with byte-level precision. It finds duplicate groups, compares file hashes, and reclaims wasted space. The desktop app deletes only after you confirm, and normal scans stay on your machine.

  • MIT licensed
  • No telemetry
  • No account needed
Onley desktop app showing duplicate groups with a copy selected to keep

Why Onley?

Small tool. Clear decisions.

Local by default

The index lives at ~/.onley/local.db. Your privacy is built in: no telemetry, no cloud, and no account required.

Resume scans

Cancel at any time. Finished files stay indexed, and the next scan skips unchanged files. A bounded worker pool keeps CPU use predictable.

Newest or oldest

Keep the newest or oldest copy in every group by modification time. Equal times fall back to path order.

A closer look

Set the rule. Check the folders.

Onley settings with Keep oldest selected and the language choices
Settings: keep the newest, the oldest or the first path. The choice applies while a scan runs and again when it ends.
Onley filters showing the Downloads folder, file types and their counts
Filters: choose source folders and file types before a scan.

Built for power users
with a command-line interface.

CLI First

Scan, review, and clean from the terminal. The workflow is scriptable and fast.

Byte-level comparison

Onley compares file contents by hash, not just names, so renamed copies still match.

Low resource overhead

Written in Rust, with a bounded worker pool and a local SQLite index.

$ onley scan ~/DownloadsScanning: /Users/you/DownloadsDone: 4821 file(s) indexed (0 unchanged skipped), 126 with duplicates.$ onley statsTotal indexed: 4821Duplicates:    126$ onley clean...Done: 84 deleted, 0 failed.