Pattern shows the difference between the original and the watermarked image, a 280 × 210 px crop from the middle, amplified 8 times. This is where the data lives.
Drop an image on the picture, paste one with Ctrl+V, or choose a file. Nothing leaves your browser.
Plain letters and digits take one byte each. Other scripts and emoji take two to four.
Micro-marks are tiled across the whole frame, so even a tight crop keeps this tag and the timestamp. The full payload text is embedded once in a high-amplitude block at the centre.
Read from this device's clock at the moment you press Embed.
Keep the PNG. Sharing it as a JPEG or through apps that shrink pictures can weaken the watermark, though screenshots of it should still read. You can also press and hold the Watermarked preview to save it.
Or paste one with Ctrl+V. Resized, cropped and compressed copies are fine.
The CRC-32 inside the watermark matches, so this note and time were read exactly as written.
Results appear here. The scan tries the image as it is first, then common screenshot sizes.
The image is cut into 8 × 8 pixel blocks. Each block stores one bit in the brightness pattern of its two lowest-frequency textures. A 66-byte frame (note, time and a CRC-32 checksum) is spread over a 24 × 22 block tile, and that tile repeats across the picture. A crop still holds every bit, and the reader votes across all the repeats before checking the checksum.
Rotation, perspective and photographing a screen will usually destroy the watermark. The payload is not encrypted or signed: anyone can extract it with this page, and anyone can overwrite it by re-embedding. Treat it as a marker, not as proof.
All processing happens in this page. Images are never uploaded.