Two hashes, two questions
A cryptographic digest: 256 bits derived from every byte. Change one bit anywhere and the hash changes completely (the avalanche effect). Use it to verify downloads, prove two files are bit-identical, or keep a tamper-evident record of an image at a point in time.
A perceptual fingerprint from brightness gradients, not raw bytes. Resize an image, re-save it, strip its metadata — the dHash usually stays close. It answers similarity, which SHA-256 deliberately cannot.
Why hashes are useful for images
- Integrity records — hash an image when you receive it; the hash proves it later unchanged.
- Exact-match discovery — identical files across folders, mirrors or reposts share a SHA-256.
- Near-duplicate triage — close dHash values flag the same picture in different exports.
- Evidence hygiene — in any documentation workflow, record the SHA-256 alongside the file.
Every PictureMatters report shows the full SHA-256 (copyable) and visualizes the 64-bit dHash as a bit grid.
What changing a file does to each hash
Open the image, add a caption, re-save: SHA-256 is now completely different, dHash is nearly unchanged. Compress for the web: same story. Convert PNG to JPG: same story. Append a hidden ZIP to the file: SHA-256 changes completely — and the forensic report flags the appended bytes — while the dHash still matches the original picture. That asymmetry is exactly why the report gives you both.
Frequently asked questions
Two photos look identical but hash differently. Why?
Any byte-level difference — a re-save, a metadata edit, a single changed pixel, a new thumbnail — produces a different SHA-256. Identical pixels are not required for different files; compare perceptual fingerprints for visual similarity instead.
Can a SHA-256 hash identify the image content?
No. It identifies the exact file. To find visually similar copies, use the report's perceptual fingerprint (dHash) against a reference.
Is the hash computed in my browser or on the server?
Both, and they should agree. Your browser shows a SHA-256 preflight before upload; the server computes the authoritative hash during analysis.
What is dHash?
A 64-bit perceptual fingerprint derived from the image's brightness gradients. Similar images — even resized or recompressed — tend to produce similar dHash values.