SynthID viewer
Find Google Gemini's invisible watermark (SynthID)
Google stamps an invisible watermark called SynthID into every image its Gemini models generate. You cannot see it, but it leaves a fixed spectral pattern in the pixels. This ports the reverse-SynthID spectral method to your browser: it pulls the watermark's residual pattern out of the pixels and shows you its forensic signature. The goal is to let you see SynthID's trace for yourself, not to be a 100% checker — for a definitive yes or no, use Google's own SynthID verifier.
Runs entirely in your browser. Your image is never uploaded or stored.
This teaches one basic forensic signal, read in isolation. It is a lead, not a verdict, and can be fooled on its own — real confidence comes from combining several independent signals and understanding the relationship between them.
- This shows a forensic signature, it is not a 100% detector. A positive is strong evidence; some watermarked images will not register here, and that is a limit of this detector, not proof the watermark is gone. For an authoritative yes or no, use Google's own SynthID verifier.
- Google embeds SynthID across the whole image, imperceptibly. This tool recovers it by stripping the picture content to leave the faint watermark residual, which only survives where there isn't much detail to drown it out. So it reads most reliably on flat or low-texture areas (sky, a plain background) and weakest on busy, textured photos. Re-compression, resizing, cropping or a screenshot also weaken it.
- The reference covers the current Gemini models (gemini-3.1-flash-image-preview, nano-banana-pro-preview). Older Gemini output and other generators will not match.
- This reads the invisible SynthID watermark, distinct from the visible Gemini sparkle (see the sparkle remover).
How it works
SynthID is a pixel-space watermark with no public decoder, but it is not invisible to signal analysis. Averaged over many Gemini images it produces a consistent residual noise pattern and a set of phase-coherent carrier frequencies. reverse-SynthID captured those into a codebook. To test an image, the tool resizes it to 512x512, removes the picture content with a wavelet denoise to leave the residual, and checks three things: how well that residual correlates with the reference pattern, whether the carrier frequencies line up in phase, and whether the residual's texture sits in the watermark's range. All three must agree for a positive.
How to read the result
| Result | What it means |
|---|---|
| SynthID detected | Strong evidence the image is Google Gemini output. The residual matched the reference and the carriers lined up. |
| Not detected | No SynthID signal found. Could be a different or older model, or the watermark was weakened by re-compression, resizing or cropping. Not proof the image is real. |
Sources
- Denny, A. (aloshdenny). reverse-SynthID — the spectral-codebook detector ported here. github.com/aloshdenny/reverse-SynthID