Byte-for-byte identical files. The SHA-256 of the file bytes matches.
IMG_2041.jpg and IMG_2041 (1).jpg — the same file saved twice.
Cryptographic certainty. Safe to bulk-remove: the copies are the same file.
BlockDedup fingerprints your image library, separates byte-identical copies from look-alikes, keeps the best version of each photo — and registers it on-chain so anyone can check who had it first.
Three steps. Nothing leaves your library without your say, and nothing is gone until the trash is purged.
Drop thousands of files or whole folders. Each image is hashed four ways — SHA-256 of the bytes, SHA-256 of the pixels, and three 64-bit perceptual fingerprints — and scored for quality.
A scan groups copies by how sure we are. Compare side by side, with a swipe slider or a pixel-difference heatmap; the sharpest, highest-resolution copy is recommended as keeper.
Register originals on-chain, anchor a Merkle snapshot of the collection, and checkpoint a hash-chained audit log. Share a file and anyone can verify it.
Cryptographic matches are facts; perceptual matches are evidence. BlockDedup never blurs the two — every group says how it was matched, how confident it is, and what you can safely do with it.
Byte-for-byte identical files. The SHA-256 of the file bytes matches.
IMG_2041.jpg and IMG_2041 (1).jpg — the same file saved twice.
Cryptographic certainty. Safe to bulk-remove: the copies are the same file.
Different files, identical decoded pixels — usually stripped or edited metadata, or a lossless re-save.
A photo and the same photo with its EXIF location stripped.
Cryptographic certainty on pixels. Safe to bulk-remove: every pixel matches; only metadata differs.
Resized, recompressed or format-converted copies, confirmed by perceptual hashes and structural similarity.
A 12 MP HEIC original and the 1600 px JPEG you emailed.
High confidence · review recommended. Review recommended. Bulk-apply needs a separate confirmation.
Images that look alike but may be different photos — bursts, crops, edits. Never removed automatically.
Two frames from the same burst, a second apart.
Probabilistic · manual review only. Always reviewed by you. Never bulk-applied.
Ranked by resolution, compression (bits per pixel), sharpness and quality score — with the reasons shown. Removed copies go to Trash and stay recoverable for your retention period.
Hashes go on-chain; your images never do. Three mechanisms, each independently verifiable from a block explorer and the manifest in your export.
Each image's SHA-256 is written to the registry contract with a pseudonymous reference to your account and the block time. The contract enforces uniqueness — the first registrant wins, permanently.
register(0x3f9a…77b0)
✓ ImageRegistered · block #18,342
register(0x3f9a…77b0)
✕ AlreadyRegistered(first: 0x6aED…Fb40)
Your whole collection folds into one 32-byte root anchored in a single transaction. Every image gets a short proof of membership — cheap at any scale, and the hashes stay private.
Every upload, scan, decision and purge is an event that commits to the previous event's hash. The head is checkpointed on-chain, so rewriting history is detectable.
Upload a library, review the first scan in minutes, and register what's yours.