Drop images
A folder or zip; thousands are fine. Hashing runs in the background with a progress bar.
Datasets
Duplicates between training and validation make a model look better than it is. This tool hashes every image twice, an exact hash of the bytes and a perceptual hash of the picture, and groups images that match within a chosen distance. Review the groups, keep one from each, and download the cleaned set or a list to delete.
Loading the tool…
A folder or zip; thousands are fine. Hashing runs in the background with a progress bar.
Distance 0 finds exact and resized copies; 6-10 finds re-encoded and lightly cropped versions; higher catches near-identical frames from video.
Each group shows its images side by side. Keep the largest by default, or choose. Export a zip without the duplicates, or a text list of files to remove.
Exact: SHA-256 of the file. Perceptual: 64-bit difference hash on a 9x8 greyscale downscale; distance is Hamming distance.
Drop train and val folders together and the tool highlights pairs that cross the split, which is the leak that matters most.
Distance is compared pairwise within hash buckets, so 20,000 images stay fast; beyond that expect a minute or two.
Because copies are renamed, re-saved and resized; the perceptual hash sees through all three.
The JSONL Inspector reports exact duplicate rows; near-duplicate text is not covered here.
When removing an image, its YOLO label file with the same stem is removed too.