Add Watermark to Multiple Images

Batch-add text or logo watermarks — with rotation, repeat tiling, and per-image preview. 🔒 100% private — no upload

1
Add your images
🖼️
Click or drag & drop JPG, PNG, or WebP images
Multiple files — processed entirely in your browser
2
Configure watermark
48

60%
20

92%

Add images above to see a live preview.
3
Download watermarked images

How it works

Every image is processed entirely inside your browser using the HTML5 Canvas API. No file ever leaves your device — there is no server, no upload, and no account required.

Text watermark

Your text is drawn using Canvas fillText(). Bold, italic, outline stroke, and drop shadow are composited independently so the text stays legible on any background color.

Logo watermark

Your logo PNG is composited using drawImage(). PNG alpha channels are preserved. Adjust width as a percentage of the output image so it scales correctly regardless of original resolution.

Rotation & tiling

Canvas rotate() is applied before drawing. In Grid and Diagonal tile modes, the watermark is stamped in a repeating pattern across the full image surface — the same method used by stock photo agencies.

Batch & ZIP

Images are processed one by one, encoded as JPEG/PNG/WebP blobs, and packed into a ZIP using JSZip. FileSaver.js triggers the download. File names are preserved with a _wm suffix.

Font size, margin, and tile spacing are all specified relative to a 1000 px image width, so they scale proportionally across your batch regardless of each image's actual resolution. A 48 px setting on a 4000 px wide photo renders at 192 px — visually consistent every time.

Frequently asked questions

Do my images get uploaded to a server?
How many images can I watermark at once?
What does the diagonal tile mode do?
Can I use a transparent logo as a watermark?
Will the watermark look the same across different image sizes?
What output formats are supported?