Skip to content

Add a watermark

Put your name, or your own logo, on a picture or a document. Drag it where you want it, and see the real result before you download anything.

Drag & drop your file here

or paste from the clipboard

Reads metadata in: JPEG · PNG · WebP · HEIC/HEIF · AVIF · MP4 · QuickTime MOV · WebM · PDF · MP3 · WAV · M4A

Your file never leaves your device. Processing happens entirely in your browser.

The preview is the result

The mark is positioned in fractions of the image rather than in pixels, and the same function draws the preview and the file you download. They cannot differ by a scale factor, because there is only one of them.

Drag the mark anywhere, or take a corner, the centre, or a tiling across the whole image. Size, opacity and rotation are yours. A tiled mark on a large photograph is a great deal of drawing, so it happens off the main thread and the page stays usable while it runs.

What it costs, measured afterwards

A picture has to be decoded, drawn on, and encoded again. On a JPEG that is a second generation of loss across the whole image, not only where the mark sits — so the panel says so for the specific pair before it runs, then reads the output back and reports what actually happened.

A PDF is not decoded at all. The mark is appended to the file as an incremental update, so every byte of the original document is still there and nothing in it is re-compressed.

What can be marked

Every row was run with a real file of that format before it appeared here — the file is named in the last column. A PDF is the cheap one: nothing is decoded, so nothing is downloaded and the original document survives inside the result.

FromWritten asDownloadsProved with
JPEGJPEG, PNG, WebP, AVIF67 KB–1,116 KBmichael-jackson-8548204_1280.jpg
PNGJPEG, PNG, WebP, AVIF67 KB–1,116 KBlibpng-test.png
WebPJPEG, PNG, WebP, AVIF67 KB–1,116 KBmars.webp
AVIFJPEG, PNG, WebP, AVIF67 KB–1,116 KBavif-netflix.avif
HEIC/HEIFJPEG, PNG, WebP, AVIF745 KB–1,795 KBIMG_2838.HEIC (iPhone 14, 3024 × 4032)
PDFPDFNothingpdf-ocr-merged.pdf (7 pages)

What is not offered, and why

Video
Video is not watermarked by this build. It would mean decoding every frame, drawing on each one and re-encoding the lot — about thirty megabytes of decoder before it starts, and it runs out of memory on a phone. Reading, cleaning, editing and converting a video works as it always has.
Removing a watermark
No, and it is not a feature being withheld. Removing a visible mark means reconstructing the pixels it covered, which is a guess about what was underneath — a different kind of tool with a different honesty problem. This build applies marks and does not remove them.
Non-Latin text on a PDF
A PDF mark is drawn with a font built into every reader, which covers Latin text and the accented characters around it. Cyrillic, Greek, Chinese, Japanese and emoji have no glyph in it. Embedding a font that covers them would add megabytes to every document, so the text is refused with the characters named rather than drawn as empty boxes. A logo image works for any script, because it is pixels.

Frequently asked questions

Can this remove a watermark from an image?

No, and it is not a feature being withheld. Removing a visible mark means reconstructing the pixels it covered, which is a guess about what was underneath — a different kind of tool with a different honesty problem. This build applies marks and does not remove them.

Is my image uploaded to watermark it?

No. The drawing happens in your browser on a canvas, and any codec it needs is served from this site rather than from anyone else. A logo you upload is read the same way and goes nowhere either.

Why can I not watermark a video?

It would mean decoding every frame, drawing on each one and re-encoding the lot. In a browser that is about thirty megabytes of decoder before it starts and it runs out of memory on a phone. Reading, cleaning, editing and converting a video all work as they always have.

Why was my PDF text refused?

A PDF mark is drawn with a font built into every reader, which covers Latin text and the accented characters around it. Cyrillic, Greek, Chinese, Japanese and emoji have no glyph in it. Embedding a font that covers them would add megabytes to every document, so the text is refused with the characters named rather than drawn as empty boxes. A logo image works for any script, because it is pixels.

Does the mark go into the metadata as well?

Only if you ask. There is a checkbox, off by default, that also writes your text into the copyright and creator fields. Drawing on pixels and writing into metadata are separate acts, and the second one is yours to choose.