Find Duplicate Images & Videos

Select a folder to scan. Supports images (JPG, PNG, GIF, WebP) and videos (MP4, WebM, MOV).

Ready
0 items

📖 How Color Signature Works — Complete Guide

Everything you need to know about finding and cleaning up duplicate files with the Color Signature algorithm. Scroll down for step-by-step instructions, tips, and answers to common questions.

100% Private — Your Files Never Leave Your Computer Everything runs inside your browser. No uploads, no accounts, no tracking. Close the tab and all data is gone.

🔍 What This Tool Does

Sakarto looks inside your images and videos to detect duplicates — not just files with the same name. It creates a visual "fingerprint" for each file and groups ones that look alike, even if they were resized, re-saved in a different format, or had minor edits applied.

Similar Images

Finds copies regardless of file name, resolution, format, or light editing.

Similar Videos

Extracts frames from video files and compares their visual content.

Live Grouping

Groups appear in real time as the scan runs — no waiting for it to finish.

Fast Mode

For JPEG files, reads the embedded thumbnail instead of the full image — 5–10× faster.

🧠 How It Finds Duplicates

The Color Signature algorithm analyzes the actual color content of each image rather than comparing pixels directly. Here's what happens step by step:

  1. Load & Resize

    Each image is drawn onto a 288×288 pixel canvas (or a tiny JPEG thumbnail in Fast Mode). This makes all images comparable regardless of their original size.

  2. Build a Color Grid

    The canvas is divided into a 24×24 grid of overlapping 3×3 cell neighborhoods. Each neighborhood produces averaged color values in Y, U, V channels (brightness separated from color — the same system used in digital video).

  3. Create a Signature

    The YUV values across all regions are normalized per channel, producing a compact color "signature" for the image. Two images with the same overall color distribution — even at different resolutions or quality settings — will produce very similar signatures.

  4. Compare & Group

    Signatures are compared using squared Euclidean distance. If the distance between two signatures falls below the threshold, the files are grouped as duplicates. An aspect-ratio pre-check filters out pairs with very different proportions before comparison.

  5. Web Worker Processing

    All image fingerprinting runs in a background Web Worker via OffscreenCanvas — your browser tab stays fully responsive during scanning. Video processing runs on the main thread and pauses if you switch tabs.

✅ What It Finds — and What It Might Miss

✅ Finds Well
  • Exact byte-for-byte copies
  • The same photo saved at different resolutions
  • Re-exported copies in different formats (JPEG → PNG)
  • Photos with minor brightness or contrast adjustments
  • Re-compressed or lower-quality versions
  • Screenshots of the same image
  • Videos that share key scenes
⚠️ May Struggle With
  • Heavily cropped versions (large portion removed)
  • Photos with heavy filters or color grading
  • Rotated or mirrored images
  • Same subject from a different angle
  • Images with large text or watermarks added
  • Black-and-white vs. color versions
For rotated or heavily transformed images, try the ORB (Feature Matching) algorithm instead — it detects local keypoints and handles perspective changes that fool color-based methods.

📋 Step-by-Step: How to Use Sakarto

Step 1

Select a Folder to Scan

Click 📁 Select Folder to Scan to open a native folder picker (Chrome / Edge). Or drag and drop a folder onto the page. In Firefox or Safari, use the file input fallback.

Make sure Fast Mode is checked if you have many JPEG photos — it reads embedded EXIF thumbnails and is 5–10× faster than loading full images.
Step 2

Wait for the Scan

A progress bar shows how many files have been processed. Duplicate groups appear live as they're found — you can start reviewing before the scan finishes. You can switch browser tabs freely during image scanning (videos pause when the tab is hidden and resume when you return).

Step 3

Review the Duplicate Groups

Results are shown in numbered groups. Each group contains files that look similar to each other.

  • Click a card to select it (blue border)
  • Ctrl+Click (or Cmd+Click on Mac) to add to the compare list (purple border)
  • Click the 🔍 icon on hover to preview full size
  • Right-click any card for the context menu
  • Click & drag on empty space to box-select multiple cards
Step 4

Compare Side-by-Side

Ctrl+Click two or more cards, then click ⚖️ Compare in the toolbar. A modal opens showing each file with full metadata, a similarity percentage, and action buttons. For 3+ files, a full pairwise similarity matrix is shown.

Step 5

Take Action — Move, Delete, or Rename

Select files and use the toolbar buttons. With Queue Mode on (recommended), files are staged for review first:

📋 CopyCopy filename(s) to clipboard
📂 MoveStage for move to a named folder
🗑️ DeleteStage for permanent deletion
⚖️ CompareView selected files side-by-side
Step 6

Queue Mode — Review Before You Commit

When Queue Mode is enabled (the default), clicking Move or Delete stages files in a queue instead of acting immediately. Switch to the Move Queue or Delete Queue tab in the sidebar to review what's staged, remove individual files, then execute when ready.

With Queue Mode disabled, a confirmation dialog appears and the operation runs immediately after you confirm.

🏛️ Quick Reference — Buttons & Controls

All toolbar buttons, checkboxes, and keyboard shortcuts for Sakarto duplicate finder
Button / ActionWhat it does
🔄 New SearchReload the page and start a fresh scan
📋 Copy (N)Copy selected filenames to clipboard. N = count selected.
📂 Move (N)Move selected files or stage them in the Move Queue
🗑️ Delete (N)Delete selected files or stage them in the Delete Queue
✕ Deselect AllRemove selection from all cards
⚖️ Compare (N)Open the compare modal for Ctrl+clicked files. Needs 2+.
🔇 VideosToggle mute/unmute for all video cards
Queue Mode checkboxWhen checked: stage files for review before executing. Recommended.
Fast Mode checkboxUse EXIF thumbnail for JPEG scanning — much faster. On by default.
Click cardSelect / deselect the file
Ctrl + Click cardAdd / remove from compare list (purple border)
Click & drag (empty area)Box-select multiple cards at once
Ctrl + dragAdd to existing selection with box
Right-click cardContext menu: Copy / Move / Delete / Compare
🔍 hover iconOpen full-size preview with metadata and action buttons
Hover video cardAuto-play the video clip

⭐ What Users Say

Based on 187 reviews

"Color Signature caught every re-uploaded Instagram photo in my folder. 4,200 files scanned in under 2 minutes with Fast Mode on."

"I had hundreds of social media downloads — same photo at different qualities. Color Signature grouped them all perfectly. Nothing else I tried came close."

"The YUV approach is brilliant for colour-based matching. Found 340 duplicates in a holiday photo collection I thought was clean."

"Queue Mode + Color Signature = no accidents. I've been using it weekly to clean my downloads folder. The browser-based approach is exactly what I needed."

💡 Tips for Best Results

Back Up First

Always back up your files before deleting anything. Deleted files bypass the recycle bin and cannot be recovered.

Scan Smaller Folders

For very large collections, scan one subfolder at a time. The tool works best with up to 5,000–10,000 files at once.

Preview Before Deleting

Click the 🔍 icon to view files full-size. Use Compare to see them side-by-side. Keep the largest file size — it usually means better quality.

When In Doubt, Move

Use Move instead of Delete if you're unsure. You can always permanently delete from the destination folder later.

Use Fast Mode for JPEGs

Fast Mode reads the embedded thumbnail rather than the full image. Almost always produces the same results at a fraction of the scan time.

Try Different Algorithms

Color Signature works well for most photos. If you're missing rotated or cropped copies, try ORB. For large folders where speed matters, try aHash or BlockHash.

⚠️ Known Limitations

You must select a folder each time.

Browsers cannot silently read your disk — a folder picker dialog is required every time you scan.

No undo for file deletion.

The File System Access API bypasses the OS recycle bin. Deleted files are gone permanently. Use Queue Mode to review before executing.

Single folder at a time.

You can't compare files across two separate folders in one scan. Workaround: scan their common parent directory.

Memory limit for large collections.

50,000+ images may slow down or crash the tab on devices with less than 8GB RAM. Split large folders into smaller batches.

Video scanning pauses when you switch tabs.

Browsers throttle background video decoding. The scanner pauses video processing when the tab is hidden and resumes automatically when you return. Image scanning is unaffected.

Limited browser support for file operations.

Move and Delete require Chrome 86+ or Edge 86+ (File System Access API). Firefox and Safari can scan and display results but cannot move or delete files. Use "Download List" to export results in those browsers.

🔒 Privacy & Security

Zero network activity after page load. Open DevTools → Network tab and verify: no outbound requests during any scan or file operation.
No accounts, no cookies, no analytics. The only localStorage data is your OS detection and checkbox preferences (Fast Mode, Queue Mode). No file names or scan results are ever saved.
Folder access is scoped and session-only. Permission is granted only for the specific folder you select, lasts only while the tab is open, and is revocable at any time from browser site settings.
Purely static — no backend. Sakarto is HTML, CSS, and JavaScript. There is no server, no database, and no API receiving your data.

❓ Frequently Asked Questions

How is Color Signature different from aHash, dHash, pHash, and wHash?
All the hash-based algorithms (aHash, dHash, pHash, wHash, BlockHash) convert images to grayscale before processing — they compare brightness structure and completely discard colour information. Color Signature is the only algorithm that compares actual colour. It divides the image into a 24×24 regional grid and measures the average YUV value (Y = luminance, U and V = colour channels) in each of the 576 cells. Two images match if their total colour distance across all cells is below the threshold. This means a bright-red photo and a bright-green photo will never match with Color Signature, even if their brightness patterns are identical — something all hash-based algorithms would get wrong at loose thresholds.
Two clearly different photos are being grouped together. How do I fix it?
Color Signature compares colour distribution across regions, not the content or subject of the image. Two photos with a similar overall colour palette — for example, two different outdoor scenes both dominated by blues and greens — can produce similar signatures even if they show completely different places. Lower the similarity threshold slider to 3–8 to require a closer colour match. If false positives persist, switch to pHash which encodes structural image content rather than colour distribution. Always use the Compare modal (Ctrl+Click two cards, then Compare) to verify before acting.
I know two files are duplicates but they aren't being grouped. What should I try?
First, raise the threshold slider. Second, check whether the two files have different dominant colours — if someone colour-graded or filtered the image (changing the hue, saturation, or white balance significantly), the YUV values across regions will have shifted and the signature won't match. Color Signature is intentionally sensitive to colour changes: it's what makes it useful, but it also means colour-shifted copies won't be found. For colour-insensitive matching, try dHash (brightness gradients) or pHash (frequency domain). Third, check aspect ratios — pairs differing by more than 10% are excluded before comparison.
What exactly is YUV, and why does Color Signature use it instead of RGB?
YUV separates luminance (Y — how bright the pixel is) from chrominance (U and V — the colour information). RGB stores brightness and colour mixed together in all three channels, making it harder to compare just colour independently of brightness. YUV was designed for exactly this kind of perceptual separation. By comparing Y, U, and V distances independently across each grid cell, Color Signature can detect colour differences that RGB comparisons would weight inconsistently. It's the same colour model used in JPEG compression, MPEG video encoding, and television broadcast standards — which is why it maps well to how the human eye perceives colour differences.
Does Color Signature work well for finding re-compressed social media images?
Yes — this is one of its best use cases. When an image is downloaded from a social media platform after being re-encoded, the compression may change individual pixel values slightly, but the overall colour distribution across the 24×24 regional grid stays almost identical. The YUV averages per cell are very stable across quality changes, so Color Signature reliably groups re-compressed copies even at moderately strict thresholds. For very heavily compressed copies (e.g. saved at JPEG quality 20 or below), try raising the threshold to 12–15.
Why does video scanning pause when I switch tabs?
Browsers throttle background video decoding when a tab is hidden. Sakarto detects this via the Page Visibility API and pauses video frame extraction automatically, resuming when you return. Image processing runs in a background Web Worker and is completely unaffected by tab switching — images keep scanning at full speed regardless of which tab you have in focus.
The scan is slow for large folders. What can I do?
Make sure Fast Mode is on — it reads embedded JPEG thumbnails instead of full images, giving a 5–10× speed boost. Close other browser tabs and applications to free up CPU and RAM. For folders with more than 10,000 files, scan subfolders separately rather than the full root directory. Videos are inherently slower than images because they require frame seeking and extraction — if speed is critical, uncheck "Scan Videos" and process images first.
Can I recover files after deleting them?
No. The File System Access API's remove() method permanently deletes files without going through the OS Recycle Bin or Trash. Queue Mode is on by default to prevent accidents — it stages files for review before any deletion is executed. Use the full-size preview and Compare modal to verify groups, and consider using Move to a "Sakarto-Duplicates" folder rather than deleting outright, at least until you're confident in the results.
What file types are supported?
Images: JPEG, PNG, GIF, WebP, BMP. Videos: MP4, WebM, MOV, MKV. Files over 40 MB are silently skipped. HEIC/HEIF, SVG, RAW camera formats, and TIFF are not supported due to browser decoder limitations — convert these to JPEG or PNG before scanning.
Does this work on Firefox or Safari?
Scanning, colour comparison, result display, and the Compare modal all work in Firefox and Safari. Move and Delete are the exception — they require the File System Access API (Chrome 86+ and Edge 86+ only). In other browsers, complete the scan, review groups, and use Download List to export a report, then manage files manually in your OS file manager.