Duplicate Image Detector

Upload two images and compare them using perceptual hashing. Detect duplicates and similar images with Hamming distance and similarity scoring — 100% client-side.

Left Image
Drop an image here or click to browse
Comparison Result
Compare Images
Right Image
Drop an image here or click to browse
🛡️Zero server logs. Duplicate detection runs 100% inside your browser via Web Workers. Your files never leave this tab.

Duplicate Image Detector

Duplicate Image Detector uses perceptual hashing (pHash) to compare two images and determine their similarity. All processing happens locally via Web Workers.

🔒 Client-side only⚡ Web Worker processing🌐 Works offline🛡️ Zero server logs

How to Use Duplicate Image Detector

  1. Upload two images by dragging and dropping or clicking the upload zones.
  2. Click Compare Images to compute perceptual hashes and compare them.
  3. Review the similarity score and Hamming distance to determine if images are duplicates.

Frequently Asked Questions

Got questions about duplicate detection?

How does duplicate detection work?

The tool computes a perceptual hash (pHash) for each image, then measures the Hamming distance between them. A low distance means high similarity.

What is a good similarity threshold?

Above 90% similarity indicates likely duplicates. Above 95% means very likely duplicates (same image or slight variations like different compression).

Are my images uploaded to a server?

No, all processing runs entirely in your browser via Web Workers. Your images never leave your device.


Automated E2E Test Suite Logs

Our build systems validate edge-case processing under extreme conditions before each deployment.

Stability
100.0%
Passed
12/12
Env
V8-Sandbox
Engine: Vitest RunnerUpdated: 2026/6/13 02:40:10📦 Download Test Datasets
PASSPure Function Unit Tests should handle valid image input
PASSPure Function Unit Tests should reject invalid input
PASSPure Function Unit Tests should not mutate original input
PASSPure Function Unit Tests should handle boundary input
PASSPure Function Unit Tests should compute hammingDistance for identical hashes
PASSPure Function Unit Tests should classify similarity correctly
PASSDuplicateImageDetectorTool renders labels
PASSDuplicateImageDetectorTool calls compare when Compare button is clicked
PASSDuplicateImageDetectorTool disables Compare button when images not loaded
PASSDuplicateImageDetectorTool renders privacy strip
PASSImage Worker — IPC Simulation should return ok:true with hash result for valid action
PASSImage Worker — IPC Simulation should return ok:false with error for unknown action
⏱️ 0.18ms📦 1.5KB🎚️ Max Nesting: 3🌿 AST Nodes: 48🛡️ V8 Heap: Healthy
$ codecaven-validator --scope=tool● CLUSTER COMPLIANT

Tool Changelog & Updates

v1.1.02026-06-11
  • Feature: Added comprehensive Vitest test suite covering Tool rendering, worker operations, and shared operation logic — all 871 image tests passing.
  • Fix: Fixed OffscreenCanvas mock patterns in tests for proper constructor instantiation.
v1.0.02026-06-11
  • Feature: Initial release with side-by-side image upload and perceptual hash comparison — 100% client-side via Web Worker.
  • UX: Dual upload zones with individual drag-and-drop for left and right images.
  • UX: Clear result display with Hamming distance, similarity percentage, and duplicate classification.