Local reverse image search: duplicate finders vs. semantic search

8 min read

If you are cleaning up duplicates — the same shot saved twice, resized, re-encoded, watermarked — free and open-source tools already solve this. dupeGuru and Czkawka both use perceptual hashing, both are fast and accurate, and neither costs anything.

If you need to find different photographs of similar-looking things — the same object shot from another angle, two products with comparable form, a variant colorway — perceptual hashing will not find them at any threshold setting. That requires semantic vector search, which works on an entirely different principle.

These two jobs get conflated constantly. Picking the wrong tool is the usual reason people conclude that local image search "doesn't really work" and go back to uploading everything to Google Lens.

Two different problems wearing the same name

"Search my images by image" covers two tasks with fundamentally different implementations. Getting this distinction wrong is what wastes the money.

Problem A — near-duplicates (perceptual hashing)

Multiple copies of one image: the original and its export, PNG against JPEG, full-resolution against a web crop, watermarked against clean. Perceptual hashing reduces each file to a short fingerprint and treats small fingerprint distances as matches.

  • Strengths — very fast even across a million files, low memory footprint, few false positives, and the free tools do it well.
  • Hard limit — it compares *pixel distributions*. Reshoot the same object from a different angle and the distribution changes completely, so the fingerprints diverge and nothing matches.

Problem B — visually similar subjects (semantic vectors)

Two genuinely different photographs whose subjects resemble each other: one chair shot from two angles, two products with similar silhouettes, the same building in different light. Semantic search runs a neural network over each image to produce a vector describing what is depicted — shape, structure, material — and compares those vectors instead of pixels.

  • Strengths — matches across viewpoint, lighting, background and colorway, which perceptual hashing structurally cannot do.
  • Costs — considerably slower (neural network inference on every file), larger index on disk, and it will occasionally return things that look related but are not what you wanted. Results are a ranked shortlist, not a verdict.

How the tools compare

ToolNear-duplicatesSimilar subjectsImages inside documentsPlatformsPrice
dupeGuru✅ Perceptual hash, mature❌ Not possible by designmacOS / Windows / LinuxFree, open source
Czkawka✅ Perceptual hash, fastest❌ Not possible by designmacOS / Windows / LinuxFree, open source
Eagle✅ Similar-image scan❌ Not what it is formacOS / Windows$34.95 one-time, 2 devices
ImgSeek 图寻⚠️ Capable, but not its focus✅ Semantic vector search✅ PDF / Word / Excel / PowerPointmacOS (Apple Silicon only) / Win 10–11¥299 one-time, 2 devices

Pricing and licensing verified against each vendor's own documentation in August 2026. Eagle's ¥199 regional price differs from the $34.95 listed on its English store. Check the official pages before purchasing.

Eagle deserves a fuller note. It is an asset manager first — collecting, tagging, building a reference library — and its similar-image scan is a supporting feature aimed at the same image at differing resolution or format. It also expects you to import files into its own library rather than indexing your existing folders in place. If your images have to stay where they are because other systems reference those paths, confirm that behaviour fits your setup before committing.

When not to buy: the free tools are the right answer

This section sits above the purchase link because it is more useful than the purchase link. If any of these describe you, paid semantic search is poor value:

  • You are reclaiming disk space from duplicate copies — dupeGuru or Czkawka are the better fit and they are free. ImgSeek is not better at this job.
  • Your library is a few thousand images and you can still browse it — no automation earns its cost at that scale.
  • You want tagging, collections and a reference library — Eagle is far more mature there. ImgSeek does not do asset management at all; it only does search.
  • You are on Linux — ImgSeek has no Linux build. dupeGuru and Czkawka both do.
  • You have an Intel Mac — the macOS build is Apple Silicon only and will not install.
  • You want to search the public web — that is what Google Lens and TinEye are for. Local tools only ever see your own disk.

When semantic search is worth paying for

Good fit

  • Photo archives without usable metadata — decades of shoots where filenames are camera serials and nobody ever tagged anything.
  • Design and product libraries — checking whether a new piece duplicates something already in the back catalogue, when the two were never the same file.
  • Images embedded in documents — product shots living inside PDFs, Word files, spreadsheets and decks, which most tools cannot even extract.
  • Material that must not leave the machine — unreleased work, client assets, anything under NDA. Uploading to a cloud service is the problem, not the solution.
  • Libraries past roughly a hundred thousand files — manual retrieval stops being viable and automation starts paying for itself.

Poor fit

  • Straightforward duplicate cleanup — free tools are faster and just as good.
  • Text-to-image search ("show me every red chair") — this searches by image, not by description.
  • Searching the internet — local tools only index local storage.
  • Workflows needing guaranteed precision — semantic search returns a ranked shortlist that still needs human review. Treat any claim of zero false positives as a red flag.
  • Shared team libraries — this is single-machine software with no server or collaboration layer.

A three-step way to decide

  1. Run a free tool first. Install dupeGuru or Czkawka and scan your actual library. If the matches it finds are the ones you wanted, stop here and keep your money.
  2. Look carefully at what it missed. If you can point at two files and say "these are obviously the same subject and it did not pair them" — and they really are two different photographs — you have hit the ceiling of perceptual hashing, and semantic search is the thing that clears it.
  3. Trial before paying. ImgSeek offers a 14-day trial with no payment and no card. Run it against your own library rather than sample data: semantic search behaves very differently across image sets, and someone else's review will not predict your results.

Frequently asked questions

What is the actual difference between perceptual hashing and semantic vector search?
Perceptual hashing reduces an image to a short fingerprint derived from its pixel distribution, so it reliably recognises different versions of the same image after resizing, re-encoding or watermarking. Semantic vector search runs a neural network to produce a vector describing what the image depicts, so it recognises when two different photographs show the same kind of subject. Hashing is faster and more precise but blind to re-shot angles; semantic search crosses viewpoint and lighting but is slower and needs human review of results.
Can I lower the similarity threshold in a free tool to find similar subjects instead?
No. Lowering the threshold returns images at greater hash distance, and those images are typically unrelated in content — their pixel distributions merely happen to fall close together. The output is noise rather than genuine subject matches. This is a limitation of the algorithm itself, not a matter of tuning.
Do local image search tools really work fully offline?
It depends on the tool, so verify before buying. dupeGuru and Czkawka are entirely local open-source applications. ImgSeek performs all indexing and searching on the machine and only contacts the network once, to verify the license signature at first activation, after which it runs disconnected. Services such as Google Lens and TinEye are the opposite case: they require uploading the image to a remote server.
Will semantic search run on a Windows PC without a dedicated GPU?
Yes, with a speed trade-off. The ImgSeek Windows build is CPU-only by design, requiring no discrete graphics card and no driver installation so that it runs on ordinary office hardware. The cost is that initial indexing is noticeably slower than on an Apple Silicon Mac, where hardware acceleration is used automatically. Indexing is a one-time pass, with only new and changed files processed afterwards.
Is this the same project as the open-source imgSeek from 2006?
No. They are unrelated beyond sharing a name. The SourceForge project called imgSeek used Haar wavelet decomposition for content-based image retrieval and stopped development after version 0.8.5 in March 2006. ImgSeek (图寻) described here is commercial desktop software for macOS and Windows sold in 2026, built on neural network semantic vectors.
How large does a library need to be before local image search is worth it?
Roughly the tens of thousands. A few thousand images can still be browsed by hand, and the time saved does not cover the cost of the tool plus the initial indexing pass. Past a hundred thousand files manual retrieval is effectively impossible and automation returns real value. Library size is not the only criterion, though: if the images are not permitted to leave the machine at all, a local tool is the only option regardless of how few there are.
Local Image Search on Mac & Windows: Tool Comparison | ImgSeek