ToolJovia
Images

Similar Image Collection Review

Review perceptual-fingerprint candidate pairs across a small local image collection, with exact Hamming distances and explicit false-match limits.

✓ Browser-local processing

Loading tool…

How to use Similar Image Collection Review

Review perceptual-fingerprint candidate pairs across a small local image collection, with exact Hamming distances and explicit false-match limits. Hash bounded image structure, not filenames or a semantic identity model. The JSON report lists threshold edges and connected groups without deleting files or declaring them exact duplicates.

  1. Provide static images to compare, maximum 128-bit hamming distance.
  2. Choose the supported mode and run the tool. Review its assumptions and any reported errors.
  3. Copy the result or download a separate output; reset to clear the current form.

Good to know

  • 2–16 local files, each at most 8 MiB, 1,000,000 pixels and 2,048 per side; 24 MiB and 4,000,000 source pixels combined. The original two-file example deliberately contains identical fixture bytes under different names. Static non-animated PNG, baseline JPEG or simple VP8/VP8L WebP only. Structural/CRC preflight precedes native decoding. APNG, progressive JPEG, extended/animated WebP, compressed PNG metadata, SVG/GIF and orientation changes that disagree with the header are refused.
  • Authored dHash-style 128-bit descriptor: white-composite decoded alpha, weighted encoded-sRGB gray, exact area averaging to a 9 × 9 grid, then horizontal/vertical strictly increasing comparisons over the top-left 8 × 8 cells, row-major most-significant-bit first. This is not claimed bit-compatible with another library’s grayscale/resampler.
  • The gray weights are 2126 R + 7152 G + 722 B over encoded channels, not a linear-light luminance or medical vision model. The area-weight integer arithmetic is exact within the 1-million-pixel cap. Sampling work is at most (source width + 8) × (source height + 8) cell intersections.
  • An integer threshold 0–128 includes a candidate edge when XOR popcount is at most that value. All at most 120 pairs are considered; connected groups may contain endpoints that do not themselves pass the threshold. The report retains those direct edge witnesses instead of declaring every group mutually equal.
  • A descriptor is not a cryptographic checksum, byte equality, ownership, identity, authenticity or reliable semantic similarity. Uniform but different-colored images can collide; crops, rotations, overlays and composition changes can also cause misses. No threshold proves that deleting a file is safe; compare the originals visually and use the exact duplicate-file tool for byte equality.
  • Each descriptor runs in a prepared same-origin module Worker: up to 10 seconds to prepare, then a separate 2-second computation deadline per image. Native decoding waits at most 10 seconds and resources are released. Nothing is uploaded, opened by URL or automatically removed.
  • Structured text output is limited to 500,000 characters. Reduce the supplied source when that separate output budget is exceeded.
  • Inputs are processed on this device and are not automatically saved or uploaded.

Common questions

Does a zero Hamming distance mean two images are the same file?

No. It means only that this particular structural descriptor is identical. Different flat colors can produce the same descriptor, and many other collisions are possible. Use the candidate report to choose images for visual comparison, then verify actual bytes separately before making a deletion decision.

Does this change my original input?

No. The tool returns a separate result. Review that output before using it in another application.

Keep going with related tools

All images →