Find duplicate and near-duplicate photos in your browser. Perceptual hashing compares visual content- not file bytes. Nothing uploaded, nothing stored.
Find duplicate and near-duplicate photos
Drop JPG, PNG, WebP, HEIC — perceptual hashing runs in your browser
Free: up to 20 files · Pro: 500
Drop your photos
Upload JPG, PNG, WebP or HEIC files. Up to 50 on the free plan- or 500 with Pro.
Algorithm finds duplicates
A perceptual hash is computed for every photo using DCT. All pairs are compared at ~50ms per image- entirely in your browser.
Review and delete copies
Duplicates appear side-by-side with file names, sizes and similarity badges. Download a deletion report for your file manager.
After removing duplicates, use Cull to quickly pick the best photo from each set. Cull photos
TwinHunt is a free browser-based duplicate photo finder that uses perceptual hashing (pHash) technology to detect visually similar and identical images. Unlike byte-level comparison, pHash finds duplicates even when photos have been resized, re-saved, or lightly edited. Processing runs at approximately 50ms per image- entirely in your browser.
Sensitivity is adjustable: strict mode catches exact duplicates (Hamming distance 0–5), normal mode catches very similar images (6–10), and loose mode catches broader matches (11–20). No photo data is ever uploaded to any server. TwinHunt works offline once the page is loaded.
Select or drag up to 50 images (free) or 500 (Pro). JPG, PNG, WebP, and HEIC are all supported.
A perceptual hash is computed for each photo using DCT. Then every pair is compared. Processing is fast- around 50ms per image.
Duplicates are shown side-by-side with file names, sizes, and similarity badges. Check which ones to delete and export a report.
Uses pHash (Discrete Cosine Transform) to compare images by visual content, not file bytes. Finds duplicates even after resizing, re-saving, or minor edits.
Adjustable sensitivity finds exact copies (Hamming distance 0–5), very similar images (6–10), and looser matches (11–20). Tune it to your library.
Every pixel is processed in your browser using Canvas API and DCT. No photo ever leaves your device. Works offline once the page is loaded.
TwinHunt shows you which photos to delete and how much space you would free. Actual deletion is done in your file manager- we never touch your files.
pHash is an algorithm that generates a 64-bit fingerprint for an image based on its visual content, not its raw bytes. Two images with the same visual content- even if saved differently, resized, or lightly edited- will have fingerprints that are close together (low Hamming distance). TwinHunt uses a DCT-based pHash: the image is reduced to 32×32 grayscale, the Discrete Cosine Transform extracts frequency components, and the top-left 8×8 block encodes the visual signature.
It depends on the degree of change. Minor colour adjustments, small crops, and re-compression artefacts are usually within the 'Very similar' threshold (Hamming ≤ 10). Heavy crops, filters, or significant edits will produce a higher Hamming distance and may not be matched at the Normal sensitivity setting. Use the Loose setting to cast a wider net.
No. TwinHunt processes everything in your browser using the Canvas API and JavaScript. No image data is transmitted to any server. The tool works completely offline once the page has loaded.
Yes. For preview thumbnails, TwinHunt uses the embedded JPEG thumbnail inside the HEIC file (extracted via exifr)- this is fast and requires no conversion library. The pHash is computed from the full image data via a standard canvas draw, which browsers support for HEIC on macOS and iOS.
No. Browsers cannot delete files from your filesystem. TwinHunt only identifies duplicates and lets you download a plain-text report listing the files you selected for removal. Actual deletion must be done in your file manager or Finder.
Related guide
Find and Remove Duplicate Photos Free →