Image Watermark
Mark your images before you share them. Place text or a logo in any corner, or tile it across the whole picture so it cannot simply be cropped away.
Image Watermark tool
How to use the Image Watermark
Add your images
Drop one or more images onto the upload area. The same watermark is applied to all of them.
Choose text or a logo
Type the text you want, or switch to logo mode and supply a PNG — one with a transparent background looks best.
Position and style it
Pick one of nine positions, or switch to tiled. Adjust size, opacity, colour and angle until it reads clearly without swamping the picture.
Apply and download
Press Add Watermark and download the results individually or as a ZIP.
Where your files are processed
Your files are processed locally in your browser and are not uploaded to our servers.
The Image Watermark runs as JavaScript on the page you are reading. When you choose a file, the browser hands it to that code directly — it is never put into a network request, so there is no upload to cancel, no copy sitting in a queue somewhere, and nothing for us to delete afterwards. We could not see your file if we wanted to.
You can verify this rather than take our word for it: open your browser’s developer tools, switch to the Network tab, and run the tool. You will see no request carrying your file. Better still, once the page has loaded you can disconnect from the internet entirely and the Image Watermark will keep working — which it could not do if it depended on a server.
To be exact about what doesleave the page: like the rest of this site, it loads analytics, which record that a tool was opened and whether it succeeded. Those events carry the tool’s name and a duration — never a file, a file name, or anything read out of your file. The tool panel above is also excluded from session recording, so nothing shown inside it is captured either.
Frequently asked questions
Keep exploring
Credits
The file-processing behind this tool is adapted from DoxDock by Mithun Srinivas, used under the MIT Licence. Rebuilt here in TypeScript for this site.