🌐
Browser-Based · No Installation · 100% Local · Works Offline

Find Duplicate & Similar Files — Images, Videos & Audio

Sakarto scans your folders using 7 visual algorithms and 3 audio fingerprinting methods. Bulk-delete, bulk-move, bulk-rename, or reverse-search by uploading a reference file — entirely in your browser, zero uploads.

Zero data leaves device
7 visual algorithms
3 audio algorithms
Reverse image & audio search
OS-adaptive UI
Sakarto — Duplicate Finder
Duplicates
Move Queue
Delete Queue
📁 Group 1 — 4 similar images
sunset.jpg
sunset.jpg
4.2 MB · Original
sunset (1).jpg
sunset (1).jpg
2.1 MB · Resized
sunset_copy.png
sunset_copy.png
5.8 MB · Re-saved
IMG_2024.webp
IMG_2024.webp
890 KB · Export
🎵 Group 2 — 3 similar audio files
🎵🎵 AUDIO
0:00 / 0:00
track.mp3
8.2 MB · Original
🎵🎵 AUDIO
0:00 / 0:00
track_v2.mp3
7.9 MB · Re-export
🎵🎵 AUDIO
0:00 / 0:00
track_final.wav
42 MB · Master

What Is Sakarto?

A browser-based tool to find duplicate and similar files across images, videos, and audio. No installs, no uploads — everything runs locally on your device.

All Your Duplicate Problems, One Tool

Sakarto finds duplicate and similar files across three media types using purpose-built algorithms for each. It goes well beyond simple byte-matching: a 4K original and its 200px thumbnail, or two recordings of the same song at different bitrates, are correctly identified as duplicates — because Sakarto compares how files look and sound, not just their raw bytes.

Once Sakarto finds matches, you're in full control. Bulk-select and delete, move to an organized folder, rename, or compare side-by-side. You can also use Reverse Image Search or Reverse Audio Search — pick one specific file as a reference and Sakarto scans your folder to find everything that looks or sounds like it.

7 Visual + 3 Audio Algorithms

Different duplicate problems need different tools. Sakarto offers color signature matching, three perceptual hash variants (pHash, wHash, aHash), difference hashing, block hashing, and OpenCV ORB feature matching for images and videos. For audio: Chromaprint spectral fingerprinting, Essentia harmonic pitch profiling, and Meyda timbral texture analysis. Each algorithm is tuned for a different type of similarity — pick the one that fits your files.

🔒
100% Local Processing. Zero network activity after page load. Verify yourself via DevTools → Network tab. Your files never leave your device.
Web Worker + OffscreenCanvas. Image fingerprinting runs in a background thread so the UI stays responsive even during large scans.
🔍
Reverse Image & Audio Search. Upload a reference file and Sakarto scans a folder to find every similar copy — reference pinned first and protected from deletion.
🖥️
OS-Adaptive UI. Detects Windows, macOS, Linux, iOS, or Android and adapts window controls, sidebar, fonts, and colors automatically.

What Sakarto Can Do

Everything you need to find, review, and clean up duplicate files — without installing anything.

🖼️
Image Duplicate Detection
7 algorithms detect identical and visually similar images regardless of resolution, format, or minor edits.
🎬
Video Duplicate Detection
Extracts multiple frames and compares visual fingerprints. Finds the same clip at different resolutions or re-encoded with different codecs.
🎵
Audio Duplicate Detection
3 algorithms — Chromaprint, Essentia HPCP, and Meyda MFCC — each targeting a different aspect of audio similarity.
🔍
Reverse Image Search
Upload any image or video as your reference. Sakarto finds everything that looks like it, reference pinned first and protected.
🎧
Reverse Audio Search
Upload a reference audio file and find all similar-sounding recordings. Works with music, podcasts, voice memos, and sound effects.
🗑️
Bulk Delete
Select multiple files and delete them in one action. Queue Mode stages selections for review before anything is permanently removed.
📂
Bulk Move
Move selected files to any folder with a single click. Sakarto creates the destination folder automatically.
✏️
Bulk Rename
Rename multiple files using custom patterns: add prefixes, suffixes, replace text, or apply sequential numbering with preview.
👁️
Media Viewer
Browse every file in a folder instantly — images, videos, and audio — without any scanning or processing needed first.
⚖️
Side-by-Side Compare
Compare any 2+ files with exact similarity percentages, dimensions, file sizes, and a pairwise similarity matrix.
📦
Queue Mode
Stage files for move or delete in a dedicated review queue before executing. Prevents accidental deletions.
🖥️
OS-Adaptive UI
Automatically adapts to Windows, macOS, Linux, iOS, and Android — window controls, colors, fonts, and sidebar all match your platform.

7 Visual Algorithms

Each algorithm finds similar images and videos in a different way. Every algorithm has both a duplicate finder and a reverse image search page.

Color Sig ⚡ Fast
Color Signature Matching
The only algorithm that actually compares colors. Divides the image into a 24×24 regional grid and measures the YUV (luminance + color) values in each area.
In plain terms: Like dividing a photo into a grid of small squares and noting the average color of each. Two photos are duplicates if their color grids match — works even if one is re-compressed or lightly edited.
Best for: color-rich photos, re-compressed images, collections where color accuracy matters
aHash ⚡ Fastest
Average Hash (aHash)
The simplest and fastest perceptual hash. Shrinks to 8×8, converts to grayscale, then compares each pixel against the overall average brightness to produce a 64-bit fingerprint.
In plain terms: Think of it as a tiny 8×8 black-and-white sketch. Two photos are duplicates if their sketches match. Lightning-fast for finding exact copies and resized versions.
Best for: exact duplicates, resized copies, very large folders where speed is the priority
BlockHash ⚡ Very Fast
Block Hash
Divides the image into equal-sized blocks and averages the brightness per block. This coarser approach absorbs JPEG compression noise better than pixel-level methods.
In plain terms: Compares big regions instead of individual pixels. Small differences from re-compression get averaged out and don't affect the result.
Best for: heavily compressed copies, JPEG artifacts, noisy images
dHash ⚡ Very Fast
Difference Hash (dHash)
Instead of absolute brightness, dHash compares adjacent pixels: is this pixel brighter than the one to its right? Sensitive to edges and gradients rather than overall tone.
In plain terms: Asks 'is this spot getting lighter or darker?' rather than 'how bright is it?' Two photos at different exposures still match because their brightness transitions are the same.
Best for: brightness-adjusted copies, HDR vs standard edits, exposure-corrected versions
pHash ⚡ Fast
Perceptual Hash (pHash)
Uses the same math as JPEG compression — the Discrete Cosine Transform — to extract the low-frequency 'essence' of an image. Very stable across re-compression and minor edits.
In plain terms: Captures what a photo looks like when you squint at it from far away — just the large-scale shapes and tones. Two photos with the same big-picture structure match even if pixels differ significantly.
Best for: watermarked copies, format conversions, lightly color-graded variations, best all-round hash
wHash ⚡ Fast
Wavelet Hash (wHash)
Uses the Haar Wavelet Transform — captures structure at multiple zoom levels simultaneously. Similar quality to pHash with better handling of local edits in one region.
In plain terms: While pHash squints from far away, wHash also checks medium and close distances. More resilient to photos where only one corner has been edited — the rest still matches correctly.
Best for: images with local edits or regional modifications, best speed/quality balance
ORB 🐢 Slower · Most Powerful
OpenCV Feature Matching (ORB)
Uses OpenCV (WebAssembly) to find hundreds of distinctive visual landmarks — corners, edges, blobs. Two images match if enough landmarks appear in the same spatial arrangement, even after rotation.
In plain terms: Creates a map of hundreds of 'landmarks' in each image. If two images share enough landmarks in the same positions, they match — even if one is rotated, cropped, or photographed from an angle.
Best for: rotated copies, perspective-warped images, scanned documents, heavily cropped versions
💡
Not sure which to pick? Start with Color Signature for most photo collections. Use pHash or wHash for mixed or edited collections. Use ORB only for rotated or transformed copies — it's slower but uniquely capable.

3 Audio Fingerprinting Algorithms

Audio similarity is fundamentally different from visual similarity. Each algorithm captures a different quality of sound and has both a duplicate finder and a reverse audio search page.

Chromaprint ⚡ Fast · No CDN
Chroma Fingerprinting
Analyzes the spectral energy of audio — which frequency bands are loudest at each moment — and hashes it into compact 15-bit frames. Pure JavaScript, no external library needed.
In plain terms: Listens to the 'shape' of sound over time. Two recordings of the same track at different bitrates produce nearly identical shapes, so they match. Works offline with no CDN dependency.
Best for: re-encoded songs, different bitrates, podcast episodes in multiple formats
Essentia HPCP 🐢 Detailed · WASM
Harmonic Pitch Class Profile
Uses Essentia.js (WebAssembly) to compute a 12-bin Harmonic Pitch Class Profile. Captures which musical notes and harmonics are present at each moment. Compares tracks using cosine similarity.
In plain terms: Listens for which musical notes are being played. A cover version or live recording uses the same notes in the same order, so they match even when the sound quality is very different.
Best for: cover versions, live recordings, alternate arrangements, transpositions of the same song
Meyda MFCC ⚡ Fast · 10s window
Mel-Frequency Cepstral Coefficients
Uses Meyda.js to compute 13 MFCCs — originally developed for speech recognition. Analyses only the first 10 seconds. Compares by Euclidean distance of timbral texture vectors.
In plain terms: Captures the 'texture' or 'color' of sound — what makes a violin sound different from a piano on the same note. Two recordings of the same speaker match regardless of what is being said.
Best for: spoken word, podcasts, voice memos, sound effects — where timbre matters more than melody
⏸️
Audio scanning continues fully in the background. All three algorithms keep processing even when you switch browser tabs — no pausing required. Expect roughly 1–3 seconds per file for typical music tracks.

🔁 Reverse Search — Upload & Find

Already know which file you're looking for copies of? Upload it as your reference and Sakarto scans a folder to find every similar match — instantly, locally, reference pinned and protected.

1 📎 Upload a Reference File

Select any image, video, or audio from your device. Sakarto processes it immediately and shows a preview confirming it loaded correctly.

2 📂 Pick a Folder to Search

Select the folder to scan. Your reference doesn't need to be inside it. Sakarto automatically skips it if it is.

3 Matches Appear Live

The reference card is pinned at the top immediately. Matching files appear one by one as the scan runs — no waiting.

4 🛡️ Reference is Always Protected

Marked with a blue REFERENCE badge. Can never be accidentally moved or deleted. File operations only apply to matched results.

🎨 Reverse Image Search 🎵 Reverse Audio Search

How Visual Algorithms Work

All visual algorithms share the same pipeline: load → normalize → fingerprint → compare. The algorithm determines what happens in the fingerprint step.

1 Load the image — In Fast Mode (default for JPEG), only the first ~80 KB is read to extract the embedded EXIF thumbnail. For other formats, the full image is decoded via createImageBitmap(). Fast Mode makes JPEG scanning 5–10× faster because EXIF thumbnails are typically under 10 KB, not megabytes.
2 Normalize to a fixed canvas size — The image is redrawn onto a tiny fixed-size canvas so all images are comparable regardless of original resolution. A 12-megapixel photo and a 200-pixel thumbnail both become the same small grayscale sketch.
3 Compute the fingerprint — Color Signature computes normalized YUV values across regional neighborhoods. Hash algorithms produce a 64-bit binary string. ORB uses OpenCV to extract dozens of local keypoint descriptors instead of one global hash. This step determines whether the algorithm responds to color, structure, gradients, or spatial features.
4 Compare fingerprints — Hash algorithms count differing bits (Hamming distance). Color Signature measures total color distance across grid regions. ORB matches feature descriptors spatially. An aspect-ratio pre-check first discards pairs with very different proportions.
5 Group into duplicate clusters — Files within the threshold distance are grouped and shown as a cluster card. Groups appear live as they're found — you can start reviewing while the rest of the folder is still being scanned.
💡
Background processing. Image fingerprinting runs in a Web Worker via OffscreenCanvas so the UI never freezes. Video processing pauses when you switch tabs and resumes when you return. Audio processing runs fully in the background regardless of tab focus.

Queue Mode Workflow

Queue Mode (on by default) adds a deliberate safety step between selecting files and acting on them. Files are staged in a review queue rather than deleted or moved immediately.

1️⃣
Select
Click or drag to box-select multiple files
2️⃣
Queue
Click Move or Delete — staged, nothing happens yet
3️⃣
Review
Switch to queue tab to inspect and remove any files
4️⃣
Execute
Click to confirm — batch operation runs on your final list

Supported File Formats

Images
JPEG / JPGPNGGIFWebPBMP
Videos
MP4WebMMOVMKV
Audio
MP3WAVOGGFLACAACM4A

Max file size: 40 MB per image/video, 100 MB per audio file. Files over the limit are silently skipped.
Not supported: HEIC/HEIF, SVG, RAW camera files, MIDI.

Getting Started

From opening Sakarto to your first scan results in under two minutes.

  1. Choose the Right Tool
    Use the nav dropdowns: Find Duplicates to scan a folder and group all similar files automatically, Reverse Search to find copies of one specific file you upload, or Organize to bulk-manage files without scanning.
  2. Select a Folder
    Click 'Select Folder to Scan' to open a native folder picker (Chrome/Edge). You can also drag and drop a folder onto the page. In Firefox or Safari, a fallback lets you select individual files instead.
  3. Watch the Scan Run
    A progress bar shows real-time status. Duplicate groups appear live — you don't need to wait for the full scan to finish. Image scanning runs in a background thread. Video scanning pauses when you switch tabs and resumes automatically. Audio scanning continues in the background regardless.
  4. Select Files to Review
    Click a card to select it (blue border). Use Ctrl+Click to add to the compare list (purple border). Drag a rectangle in empty space to box-select multiple files. Right-click any card for a context menu.
  5. Move, Delete, or Rename
    With Queue Mode on: clicking Move or Delete stages files for review. Switch to the queue tab, verify, then execute. With Queue Mode off: actions show a confirmation and execute immediately.
    ⚠️
    Deletions are permanent — the File System Access API bypasses the recycle bin. Always review your queue before executing.

Interactions & Controls

ActionHow
Select / deselect a fileClick the card
Add to compare listCtrl + Click (Cmd on Mac)
Box selectionClick & drag on empty space in the results area
Add to existing selectionCtrl + drag
Context menuRight-click any card
Preview a fileClick the 🔍 icon on hover
Play video on hoverHover over a video card
Mute / unmute all videosClick 🔇 Videos in toolbar
Deselect allClick '✕ Deselect All' in toolbar
Compare side-by-sideCtrl+Click 2+ cards → click '⚖️ Compare'
Export resultsClick 'Download List' in results header

Comparison with Desktop Tools

How Sakarto compares to popular native duplicate finders.

FeatureSakartoCzkawkadupeGuruVisiPics
Installation requiredNo (browser)YesYesYes
Cross-platformAny OS + browserWin/Mac/LinuxWin/Mac/LinuxWindows only
Image duplicate detection7 algorithmsMultipleYesYes
Video duplicate detectionYesYesNoNo
Audio duplicate detection3 algorithmsYesYesNo
Reverse image searchYes (7 algorithms)NoNoNo
Reverse audio searchYes (3 algorithms)NoNoNo
Bulk renameYesNoNoNo
Privacy (no data sent)GuaranteedYes (local)Yes (local)Yes (local)
Scan speed (images)Fast (Web Worker)Very fast (Rust)MediumMedium
Large folders (100K+)Limited by RAMYesYesLimited
⚖️
Honest perspective: Sakarto is built for quick ad-hoc scans with no installation. For 100,000+ files or enterprise-scale deduplication, a native tool like Czkawka will be faster. Sakarto's strengths are convenience, privacy, multi-algorithm flexibility, and reverse search.

Browser Requirements

Feature support varies by browser. Move and delete require the File System Access API (Chromium only).

BrowserScanningMove / DeleteWorker HashingNotes
Chrome 86+ Full Full Yes Recommended. Full File System Access API.
Edge 86+ Full Full Yes Same Chromium engine. Identical support.
Opera 72+ Full Full Yes Chromium-based. May need to disable shields.
Firefox Partial No Yes Fallback file input. No File System Access API.
Safari 16.4+ Partial No No Basic scanning via file picker. Main-thread hashing.
Mobile Chrome Partial No Yes File picker works. No folder selection.
Mobile Safari Partial No No Photo library picker. Main-thread hashing only.
Windows 10+macOSLinuxiOSAndroid

Limitations

Browser-based tools have real trade-offs. Here's what Sakarto can't do.

📂
No Silent Background Scanning

Browsers require explicit user permission before reading any file. You must select a folder each time through a native OS dialog.

🔀
No Cross-Folder Scanning

Each scan operates on a single folder (including subfolders). To compare files across two locations, scan their common parent directory.

↩️
No Undo for Delete

The remove() API bypasses the OS recycle bin entirely. Deleted files cannot be recovered. Use Queue Mode to review before executing.

📊
Memory-Bound for Very Large Collections

Scanning 50,000+ images may cause slowdowns on devices with less than 8 GB RAM. All fingerprints are held in memory during the session.

🎬
Video Fingerprinting Uses Sampled Frames

Only 3 frames are sampled per video. Two long videos sharing one brief similar scene but different overall content could occasionally match.

🎯
Perceptual Hash False Positives Are Possible

No hash algorithm is perfect. Very different images can occasionally produce similar fingerprints at loose threshold settings. Always preview before deleting.

Fast Mode Tradeoffs

The JPEG EXIF thumbnail is typically 160×120 pixels. In the rare case that two JPEGs have identical full-resolution content but different embedded thumbnails, Fast Mode may miss the match.

☁️
No Cloud Storage Support

The File System Access API works with local file systems. Network drives, SMB shares, and cloud-synced folders may behave inconsistently.

What Users Say

Based on 314 reviews

"Finally a duplicate finder that actually works without installing anything. Cleaned up 14 GB of duplicate photos in under an hour."

"The reverse image search is incredible. Uploaded one reference photo and it found every crop, resize, and re-export across 8,000 files instantly."

"Love that nothing leaves my computer. The pHash algorithm caught duplicates that looked completely different at first glance."

"Used the audio duplicate finder to clean up my entire music library. Chromaprint found re-encoded versions of the same song I didn't even know I had."

"The ORB feature matching is black magic. It found photos that were rotated and cropped, something every other tool missed completely."

"I was skeptical about a browser-based tool, but Sakarto is incredibly fast. Freed up 47 GB of duplicate videos from my external drive. Huge time saver."

Frequently Asked Questions

Privacy & Security
Is my data sent to any server?
No. Everything runs entirely in your browser — zero network requests after the initial page load. Open DevTools → Network tab and verify: no outbound requests during any scan or file operation. Your files never leave your device.
Why does it ask for folder permission?
The File System Access API requires explicit user permission before the browser can read your disk. The permission is scoped to the specific folder you choose, lasts only while the tab is open, and can be revoked through browser site settings.
Algorithms
Which algorithm should I use for images?
Color Signature is the best starting point for most photo collections. Use pHash or wHash for mixed or edited collections. Use aHash or BlockHash for maximum scan speed. Use ORB only for rotated, cropped, or perspective-warped copies — it's slower but uniquely capable.
Which audio algorithm should I use?
Chromaprint is the most reliable for music at different bitrates or formats — fast, no CDN needed. Essentia HPCP is best for cover versions and live recordings. Meyda MFCC works best for spoken word, podcasts, or sound effects.
What's the difference between Find Duplicates and Reverse Search?
Find Duplicates scans an entire folder and groups all files that look or sound similar to each other automatically. Reverse Search takes one specific file you upload and finds everything in a folder similar to that specific file. Use Find Duplicates to clean up a messy folder; use Reverse Search when you know exactly which file you want to find copies of.
Why does video scanning pause when I switch tabs?
Browsers aggressively throttle background video decoding to save power. The scanner detects tab visibility changes and pauses video frame extraction when you switch away, resuming automatically when you return. Image scanning is unaffected (Web Workers aren't throttled). Audio scanning also continues fully in the background.
File Operations
What happens if I accidentally delete a file?
Deleted files are permanently removed — they don't go to your recycle bin. The File System Access API's remove() method bypasses OS trash entirely. Use Queue Mode: stage files, preview each one, then execute only when certain. There is no undo.
Can I use this on Firefox or Safari?
Partially. Scanning and result display work in both browsers. However, the File System Access API — needed for native folder picking, file moving, and deletion — is only available in Chrome and Edge. Use 'Download List' in other browsers to export a report of what was found.

Privacy & Security

Zero network activity after page load. Open DevTools → Network tab and verify: zero outbound requests during any scan, compare, or file operation. No telemetry, no analytics, no crash reporting.
No cookies, no meaningful localStorage data. Only your detected OS and checkbox preferences (Fast Mode, Queue Mode) are stored. No file names, paths, fingerprints, or scan results are ever persisted or transmitted.
No server-side components at all. Sakarto is a purely static site — HTML, CSS, and JavaScript. No backend server, no database, no API endpoint.
File handles are session-only. FileSystemFileHandle objects exist only in JavaScript memory. The moment you close the tab, all handles are destroyed and Sakarto loses all access to your files.