Image Hash Generator

Generate perceptual image hashes (aHash, dHash, pHash) and compare them with Hamming distance. Detect duplicate and similar images — 100% client-side.

Drop images here or click to browseSupports: PNG, JPEG, WEBP, AVIF
🛡️Zero server logs. Hash computation runs 100% inside your browser. Your files never leave this tab.

Image Hash Generator

Image Hash Generator creates perceptual hashes (aHash, dHash, pHash) for images. Hashes can be used to detect duplicates and similar images.

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

How to Use Image Hash Generator

  1. Upload an image by dragging and dropping or clicking to browse.
  2. Click Generate Hashes to compute all three perceptual hash values.
  3. Copy any hash with the copy button. Optionally paste another hash to compare similarity.

Frequently Asked Questions

Got questions about image hashing?

What are perceptual image hashes?

Perceptual hashes create a fingerprint of an image based on its visual content. Similar images have similar hashes, making them ideal for duplicate detection.

What is Hamming distance?

Hamming distance measures how many bits differ between two hashes. A lower distance means images are more similar. For a 64-bit hash, distance under 10 indicates high similarity.

Are my images uploaded to a server?

No, all hash computation 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
13/13
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 return -1 for hashes of different lengths
PASSImageHashGeneratorTool renders labels
PASSImageHashGeneratorTool renders Generate button
PASSImageHashGeneratorTool disables Generate button when no images loaded
PASSImageHashGeneratorTool renders privacy strip
PASSImageHashGeneratorTool has multiple file input
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.2.02026-06-12
  • Feature: Batch hash computation — upload multiple images and compute aHash, dHash, and pHash for all at once.
  • UX: Card-based UI with thumbnails and all three hashes displayed per image — click any hash row to copy.
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 aHash, dHash, and pHash perceptual image hash generation — 100% client-side via Web Worker.
  • Feature: Hash comparison with Hamming distance and match percentage calculation.
  • UX: One-click copy buttons for each hash value with visual feedback.