Images
Watermark photos in a batch
Add up to 30 photos, set your text or logo once, and download them all in one ZIP.
This tool didn't load
Nothing was sent anywhere — whatever you added stayed on your device. Open the full tool, or reload the page.
How it works
- Choose your photosAdd several images. Each one is processed in your browser.
- Add your text or logoSet the mark (your words or your logo) once. It is applied to every photo in the batch.
- Download the resultsSave the watermarked photos to your device.
Save and continue on the desktop
Download or copy your result here first. Open the free desktop to save to Files or use more features.
- Text color and 9 positions in the full Watermark app
- Save to Files when you continue on the desktop
- Every tool in one place, no new tabs
After you download, continue on the desktop for Files or the full app.
What Batch Watermark can do
Set it once, apply to all
Type your text, or tap Logo and choose your logo, then set the size, placement and opacity a single time; the same watermark is stamped on every photo you added. Download them together as a ZIP.
Every photo keeps its own format
A batch is not flattened to one format. A JPG comes back a JPG and a WebP a WebP (in Safari and on iPhone, which cannot write WebP, as JPG, or PNG if transparent), so a mixed folder stays mixed. An iPhone HEIC or an AVIF photo comes back as JPG (a PNG of a phone photo would be several times heavier), and a PNG screenshot stays PNG.
Thirty photos, and what happens to the thirty-first
Thirty is the cap for one run. Add more and the first thirty are taken, with a line under the dropzone saying the rest were left out; nothing is dropped silently. If one photo cannot be read, the others are still stamped, and you can retry the failed one.
More image tools
Questions
How many photos can I do at once?
Up to 30 in one run. For more, download the ZIP and start a second run.
Are my photos uploaded for batch processing?
No. Every photo is watermarked in your browser and zipped locally. Nothing is sent to a server.