Reverse Image & Video Search
Upload a Reference, Find Its Copies

Upload one image or video as your reference. Sakarto scans a folder and shows everything that looks similar to it — reference pinned first and protected, matches appearing live as the scan runs. 7 algorithms, each finding different kinds of copies.

JPEG, PNG, GIF, WebP, BMP MP4, WebM, MOV, MKV 100% Local Reference Protected Live Results 7 Algorithms

How It Works

  1. 1. Upload Reference
    Select any image or video as your reference. Its fingerprint is computed immediately.
  2. 2. Pick a Folder
    Select the folder to scan. Reference doesn't need to be inside it.
  3. 3. Matches Appear Live
    Reference pinned first. Similar files appear one by one as found.
  4. 4. Reference Protected
    Reference card can never be moved or deleted. Only matched files can be acted on.
Reverse Search vs. Find Duplicates: Reverse Search compares every folder file against your one reference (O(n) — very fast). Find Duplicates compares every file against every other (O(n²)). Use Reverse Search when you already know which file you're looking for copies of.
100% Private. All fingerprinting runs inside your browser using OffscreenCanvas and Web Workers. Zero outbound requests during any scan. Your reference file and folder files never leave your device.

Quick Pick — Which Algorithm?

Each algorithm finds a different type of copy. Pick based on what you expect your reference's copies to look like.

Quick guide to choosing the right reverse image search algorithm
My reference copies are probably…Best algorithmWhy
Exact copies or the same file resizedaHashSimplest and fastest — excellent for exact copies at any resolution
Re-saved in different formats (JPEG → PNG → WebP)pHash or wHashFrequency-domain hash stable across format conversions and mild edits
Heavily JPEG-compressed or degraded copiesBlockHashBlock averaging absorbs compression noise better than pixel-level methods
Brightness or exposure adjusteddHashEncodes brightness direction — unaffected by overall exposure shifts
Same colour/scene as the referenceColor SignatureOnly algorithm comparing actual YUV colour — not just luminance
Rotated, cropped, or perspective-warpedORBOnly algorithm using local keypoint features — handles geometric transforms
In a very large folder (speed priority)aHash or wHashaHash is fastest; wHash gives better quality at similar speed

All 7 Algorithms — How Reference Search Works

Every algorithm processes your reference first, then scans each folder file and compares it against the reference. Matches appear live. The reference card is always protected at position 0.

Color Signature — Reverse Image Search
Color Sig
Compares actual YUV colour values between your reference and each folder file. The image is divided into a 24×24 regional grid, and the average YUV (luminance + chrominance) value for each cell is computed. Two files match if their total colour distance across all 576 cells is below the threshold. This is the only algorithm that cares about colour — a bright-red reference will never match a bright-blue copy even if their brightness patterns are identical. Finds colour-similar copies even after re-compression or minor edits. Will not match colour-shifted versions of your reference.
Step 1
Process reference to 288×288 YUV grid

Reference hashed immediately on upload. 576 YUV cells computed.

Step 2
Process each folder file the same way

Web Worker handles each file. Same 24×24 YUV grid computed per file.

Step 3
Compute total YUV distance

Sum of colour differences across all 576 cells. Below threshold = match.

Step 4
Show match live

Matching cards rendered immediately. Reference always stays at position 0.

🔁 Open Reverse Image Search 🔍 Find Duplicates Instead ⚡ Fast · Web Worker · Best for: colour-rich photos, same scene/palette
Average Hash (aHash) — Reverse Image Search
aHash
The fastest reverse image search. Your reference is hashed once (16×16 → grayscale → mean threshold → 256-bit hash). Then each folder file is hashed the same way and compared against the reference using Hamming distance. Because only one O(n) comparison is needed per file, this is significantly faster than the duplicate finder for large folders. Fast Mode reads JPEG EXIF thumbnails instead of full images — 5–10× faster with near-identical accuracy. The reference hash is computed immediately when you upload it, so there's no waiting before scanning begins.
Step 1
Hash reference at upload

Reference processed to 256-bit aHash immediately. Preview shown.

Step 2
Hash each folder file

16×16 canvas → grayscale → mean → 256-bit hash. Fast Mode uses EXIF thumb.

Step 3
Hamming distance vs reference

Count differing bits. ≤ threshold = match. Aspect-ratio pre-check applied.

Step 4
Live results

Each match card rendered immediately as found. Reference pinned at position 0.

🔁 Open Reverse Image Search 🔍 Find Duplicates Instead ⚡ Fastest · Best for: exact copies, resized versions, large folders
Block Hash — Reverse Image Search
BlockHash
Divides a 64×64 canvas into 16 equal blocks and averages the brightness of each. Block averaging absorbs individual-pixel noise from JPEG compression, making BlockHash more tolerant of degraded copies than pixel-level methods. Your reference produces a 16-bit block hash; each folder file is hashed the same way and compared using Hamming distance. Excellent for finding heavily compressed or noisy versions of your reference that aHash or pHash might miss because the individual pixels differ too much from compression artifacts.
Step 1
Reference → 64×64 block hash

16 blocks, each 16×16 pixels. Block brightness averaged, compared to median → 16-bit hash.

Step 2
Same for each folder file

Compression noise absorbed by block averaging — artifact-tolerant.

Step 3
16-bit Hamming distance

Only 16 bits to compare — very fast even for huge folders.

Step 4
Live match cards

Matches appear as they're found. Reference always stays pinned first.

🔁 Open Reverse Image Search 🔍 Find Duplicates Instead ⚡ Very Fast · Best for: JPEG-compressed copies, noisy or degraded versions
Difference Hash (dHash) — Reverse Image Search
dHash
Instead of comparing absolute brightness, dHash encodes the direction of brightness change between adjacent pixels. Your reference is resized to 17×16 (one extra column), and 256 pixel pairs are compared left-to-right — each comparison becomes one bit. The key advantage: a copy of your reference that was edited with different brightness/exposure settings will still have the same gradient directions, so it matches even though the absolute pixel values are very different. Best for finding copies of your reference that were saved from different RAW development settings, HDR processing, or exposure correction.
Step 1
Reference → 17×16 gradient hash

256 left-right pixel comparisons → 256-bit hash encoding brightness gradients.

Step 2
Same for each folder file

Exposure/brightness differences don't change gradient direction — robust to edits.

Step 3
256-bit Hamming distance

Count differing bits. ≤ threshold = match. Aspect-ratio pre-check applied first.

Step 4
Live match cards

Reference stays pinned. Matches render immediately as found.

🔁 Open Reverse Image Search 🔍 Find Duplicates Instead ⚡ Very Fast · Best for: brightness/exposure-adjusted copies, HDR vs standard edits
Perceptual Hash (pHash) — Reverse Image Search
pHash
Uses the Discrete Cosine Transform (the same math as JPEG compression) to extract the low-frequency "essence" of each image. Your reference is resized to 32×32, a separable 2D DCT is applied, and the top-left 8×8 block of low-frequency coefficients is thresholded against their mean to produce a 64-bit hash. These low-frequency components are extremely stable — JPEG re-compression, format conversion, mild sharpening, slight colour grading, and watermarking all change high-frequency detail while leaving the low-frequency structure intact. This makes pHash the best all-round choice for finding edited copies of a reference across different formats and export settings.
Step 1
Reference → 32×32 DCT hash

Separable 2D DCT → extract top-left 8×8 low-frequency coefficients → 64-bit hash.

Step 2
Same for each folder file

Format conversions, mild edits, sharpening don't affect low-frequency structure.

Step 3
64-bit Hamming distance

Count differing bits. ≤ threshold = match. Aspect-ratio check applied first.

Step 4
Live match cards

Matches rendered live. Reference always pinned first, protected from deletion.

🔁 Open Reverse Image Search 🔍 Find Duplicates Instead ⚡ Fast · Best for: watermarked copies, format conversions, lightly edited versions
Wavelet Hash (wHash) — Reverse Image Search
wHash
Uses the Haar Wavelet Transform at a larger canvas (64×64 for reference search, vs 16×16 in the duplicate finder) for improved accuracy. The wavelet decomposition captures structure at multiple scale levels simultaneously. The top-left 8×8 LL sub-band is extracted and thresholded to produce a 64-bit hash. The larger canvas and multi-scale nature make wHash's reference search particularly good at handling copies where one area of the reference has been locally edited — the unchanged parts still contribute enough to the hash to produce a match. Quality similar to pHash at slightly faster speed.
Step 1
Reference → 64×64 Haar hash

Multi-level Haar transform → 8×8 LL sub-band → 64-bit hash. Larger canvas than dup finder.

Step 2
Same for each folder file

Multi-scale capture handles local edits better than single-scale methods.

Step 3
64-bit Hamming distance

Count differing bits vs reference. ≤ threshold = match.

Step 4
Live match cards

Reference pinned at position 0. Matches appear as found.

🔁 Open Reverse Image Search 🔍 Find Duplicates Instead ⚡ Fast · Best for: locally edited copies, best speed/quality balance
Feature Matching (ORB) — Reverse Image Search
ORB
Uses OpenCV.js (WebAssembly) to extract up to 500 distinctive keypoints from your reference and match them against folder files. For the reference search, keypoints are extracted from the reference only once, then matched against each folder file's keypoints using Hamming distance + Lowe's ratio test. ORB is the only algorithm that handles rotation, cropping, and perspective distortion — if your reference has been photographed from an angle, rotated, or heavily cropped, only ORB will find it. For videos, the middle frame is extracted and used for matching. Note: the threshold direction is inverted — higher = stricter (more matching keypoints required).
Step 1
Extract reference keypoints (once)

OpenCV detects FAST keypoints + BRIEF descriptors from reference. Stored for all comparisons.

Step 2
Extract folder file keypoints

Same process for each folder file. Videos use middle frame.

Step 3
Spatial keypoint matching

Hamming distance + Lowe's ratio test. Count of good matches ≥ threshold = match (inverted!).

Step 4
Live match cards

Reference stays pinned. Matches rendered as found. ORB is slower — expect longer scan times.

ORB threshold is inverted: higher = stricter (more matching keypoints required). Requires OpenCV.js to load (~2–5s on first use). Slower than hash algorithms. Videos use middle frame only for matching.
🔁 Open Reverse Image Search 🔍 Find Duplicates Instead 🐢 Slower · Best for: rotated, cropped, perspective-warped copies of your reference

📊 Algorithm Comparison

Comparison of the 7 reverse image search algorithms
PropertyColor Sig.aHashBlockHashdHashpHashwHashORB
Exact / resized copiesBest
Re-compressed / format-convertedBest
Brightness / exposure adjustedBest
Colour-graded (hue/saturation)
Same colour palette / sceneBest
Watermarked / lightly editedBest
Locally edited in one regionBest
Rotated / mirroredBest
Cropped or perspective-warpedBest
Very large folder (speed priority)BestAvoid

📖 Complete Guide — How to Use Any Reverse Image & Video Search

All 7 algorithm pages work the same way. Upload a reference, pick a folder, watch matches appear live. This guide covers everything including the reference protection system, threshold slider, compare modal, and safe file operations.

🔑 What Makes Reverse Search Different from Find Duplicates

One reference file

You choose exactly which file you're looking for copies of. Results are all matches to that one file.

O(n) speed

Each folder file is compared only against the reference — not against all other files. Much faster for large folders.

Reference protected

Reference card is pinned at position 0 with a REFERENCE badge. It cannot be moved or deleted, ever.

Reference outside folder OK

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

🔒 Privacy — Your Files Never Leave Your Device

Zero network activity after page load. All fingerprinting runs locally using OffscreenCanvas and Web Workers. Zero outbound requests during any scan.
Reference file processed locally. Your reference image or video is fingerprinted entirely inside your browser. Nothing is uploaded or transmitted.
Session-only access. Folder permission expires when you close the tab. No filenames, paths, or hashes are stored between sessions.

📋 Step-by-Step: Using Reverse Image & Video Search

Step 1

Choose the Right Algorithm & Open the Page

Use the table above to pick the algorithm that best fits the kind of copies you expect. Click the "Open Reverse Image Search" button on any algorithm card. If unsure, start with pHash (best all-round) or aHash (fastest for large folders).

Step 2

Upload Your Reference File

Click Choose Reference File. Select any image or video from your computer — it does not need to be inside the folder you're about to scan. Sakarto immediately computes its fingerprint and shows a thumbnail preview so you can confirm the correct file was loaded.

Supported: JPEG, PNG, GIF, WebP, BMP (images) and MP4, WebM, MOV, MKV (videos). Max 40 MB for reference files.

Use the highest quality version of your file as the reference — uncompressed or high-bitrate. A heavily compressed reference may produce a slightly different hash than lossless versions in the folder.
Step 3

Configure Options

  • Fast Mode (on by default) — reads JPEG EXIF thumbnails instead of full images. 5–10× faster with near-identical accuracy. Turn off only if your JPEGs lack EXIF thumbnails.
  • Scan Images / Scan Videos — include or exclude each media type from the scan.
  • Queue Mode (on by default) — stages files for review before any move or delete action. Highly recommended.
Step 4

Select the Folder to Search

Click Choose Folder to Search. A native folder picker opens (Chrome / Edge). Or drag and drop a folder onto the page. The reference card appears immediately at position 0 with a blue REFERENCE badge. Scanning begins.

Image hashing runs in a background Web Worker — you can switch tabs freely. Video scanning pauses when the tab is hidden and resumes when you return.

Step 5

Adjust the Threshold if Needed

Use the Similarity Threshold slider to tune how strictly files must match the reference. Releasing the slider instantly re-scans all already-computed hashes — no re-scanning needed.

Low (0–5) — Very strict

Only near-identical files match. Use for exact copies and lossless vs lossy exports.

Medium (6–20) — Balanced (default: 10)

Catches resized, reformatted, and lightly edited copies. Good starting point.

High (21–50) — Loose

Includes visually related files. More false positives — always preview before acting.

ORB threshold is inverted: higher = stricter. All other algorithms: lower = stricter.
Step 6

Review the Results

  • Click a match card to select it (blue border)
  • Ctrl+Click the reference + a match card, then click ⚖️ Compare to see them side-by-side with similarity percentage
  • Click the 🔍 icon on hover to preview full size
  • Hover a video card to auto-play the clip
  • Right-click any card for context menu (Move/Delete disabled on reference)
  • Click & drag on empty space to box-select multiple match cards
Step 7

The Reference File is Always Protected

The reference card at position 0 has built-in protection. Move and Delete are silently blocked for it even if you accidentally select it with other files. The context menu grays out Move and Delete on the reference card. In the Compare modal, the reference shows only a Copy button.

✅ You can do these on the reference
  • Click to select it
  • Ctrl+Click to add to compare
  • Click 🔍 to preview full size
  • Hover video to auto-play
  • Copy filename to clipboard
🚫 You cannot do these on the reference
  • Move or delete it
  • Add it to move/delete queue
  • Right-click Move or Delete
  • Select it for queue operations
Step 8

Move, Delete, or Copy Matches

📋 CopyCopy match filename(s) to clipboard
📂 MoveStage matches for move to a named subfolder
🗑️ DeleteStage matches for permanent deletion
⚖️ CompareView reference + match side-by-side with similarity %
Deletions are permanent. The File System Access API bypasses the Recycle Bin. Use Queue Mode — the reference file is protected regardless.

✅ What Each Algorithm Finds for Your Reference

Copy typeColor Sig.aHashBlockHashdHashpHashwHashORB
Exact copy / same file resizedBest
Different format (JPEG→PNG→WebP)Best
Brightness / exposure adjustedBest
Same colour/scene as referenceBest
Watermarked or lightly editedBest
Locally edited in one regionBest
Rotated or mirroredBest
Cropped or perspective-warpedBest
In a very large folder (speed)BestAvoid

💡 Tips for Best Results

Back Up First

Always back up before deleting. Deleted files bypass the Recycle Bin and cannot be recovered.

Use Best Quality Reference

Choose the highest-quality, largest version as your reference. A compressed reference may miss lossless copies in the folder.

Start Strict, Then Loosen

Begin at threshold 10. Raise only if expected matches aren't appearing. Lower if too many unrelated files appear.

Compare Before Acting

Ctrl+Click the reference + a match card, then Compare to see them side-by-side with exact similarity %. Don't delete based on thumbnails alone.

Use Fast Mode for JPEG Folders

Fast Mode reads EXIF thumbnails — 5–10× faster with the same matching accuracy in most cases.

Try Multiple Algorithms

If pHash produces false positives, try Color Signature. If ORB is too slow, try pHash first and use ORB only if results are insufficient.

⚠️ Known Limitations

No undo for deletion.

The File System Access API's remove() bypasses the OS Recycle Bin. The reference file is protected, but matched files can be deleted. Use Queue Mode.

Video scanning pauses when you switch tabs.

Image scanning (Web Worker) continues unaffected. Return to the tab to resume video scanning.

Move and Delete require Chrome or Edge.

The File System Access API is only in Chrome 86+ and Edge 86+. Firefox and Safari can scan and display results but cannot move or delete files.

ORB requires OpenCV.js and is slower.

Expect a 2–5s WASM loading delay before ORB scans begin. Each file comparison is also slower than hash methods. Use only when rotation/perspective tolerance is needed.

🛠️ Quick Reference — All Controls

All toolbar buttons and interaction controls
Button / ActionWhat it does
Choose Reference FileSelect the image/video to search for. Preview shown immediately.
Choose Folder to SearchSelect folder to scan. Activates once reference is loaded.
🔍 Start SearchBegin scanning. Reference pinned at position 0. Matches appear live.
🔄 New SearchReload and start fresh with a new reference file
📋 Copy (N)Copy match filenames to clipboard. N = count. Reference excluded.
📂 Move (N)Move matches or stage in Move Queue. Reference always excluded.
🗑️ Delete (N)Delete matches or stage in Delete Queue. Reference always excluded.
✕ Deselect AllRemove selection from all cards
⚖️ Compare (N)Compare Ctrl+clicked files side-by-side. Works on reference card too.
🔇 VideosToggle mute/unmute for all video cards
Queue Mode checkboxStage files for review before executing. Recommended on.
Fast Mode checkboxUse JPEG EXIF thumbnail for hashing — much faster.
Similarity Threshold sliderMax Hamming distance allowed. Lower = stricter (ORB: higher = stricter). Re-searches on release.
Click match cardSelect / deselect (blue border)
Ctrl + Click cardsAdd to compare list (purple border). Works on reference card too.
Click & drag (empty area)Box-select multiple match cards
Right-click cardContext menu. Move & Delete disabled on reference card.
🔍 hover iconOpen full-size preview. Reference shown as REFERENCE FILE.
Hover video cardAuto-play the video clip
📥 Download ListExport all matches as a plain-text report

⭐ What Users Say

Based on 156 reviews

"I used a reference photo of my dog and it found every snapshot of him in my entire photo library. pHash worked perfectly."

"ORB reverse search found rotated scans I had no idea existed. Nothing else catches those."

"Color Signature reverse search is brilliant for finding colour-similar images without false positives. My files never leave my machine."

"Being able to compare reference vs match side-by-side is a game-changer. I can verify with the visual compare modal before deleting."

❓ Frequently Asked Questions

Does the reference file need to be inside the folder I'm scanning?
No. Select the reference from anywhere on your computer. If it happens to be inside the scanned folder, Sakarto automatically detects and skips it (matched by filename, file size, and last-modified date) so it won't appear as a match to itself.
A copy I know exists isn't appearing. What should I do?
First, raise the threshold slider toward 15–20. The copy may have been significantly cropped, rotated, or had its brightness dramatically changed. Check that the two files have similar aspect ratios — pairs differing by more than 10% in proportions are excluded by the aspect-ratio pre-check. For rotated copies, switch to ORB.
Why is the reference card shown before I select a folder?
The reference is processed and pinned at position 0 immediately after upload to give you a visual anchor and let you verify the right file was selected. This also means the reference hash is ready the moment you pick a folder — no delay before scanning begins.
Can I recover deleted files?
No. Files deleted through Sakarto use the File System Access API's remove() method, which bypasses the OS Recycle Bin. The reference file itself cannot be deleted regardless. Use Queue Mode: stage files, preview each one, then execute only when certain.
Which algorithm should I use for a photo that's been rotated or mirrored?
ORB is the only algorithm that handles rotation, mirroring, and perspective distortion. All 6 hash-based algorithms produce completely different hashes for rotated images because the position of bright and dark pixels changes entirely. Note that ORB is slower, requires OpenCV.js to load, and uses an inverted threshold (higher = stricter).
Does this work on Firefox or Safari?
Partially. Reference processing, scanning, hash computation, live results, and the Compare modal all work. However, Move and Delete require the File System Access API (Chrome 86+ / Edge 86+ only). In Firefox and Safari, scan and use "Download List" to export results, then handle files manually.