I have had my photos used without permission three times that I know of. Each time, the image was cropped, slightly resized, and posted without attribution. A visible watermark would not have prevented the use, but it would have made it useless for the thief because the watermark is burned into the image data.
Watermarking is a trade-off between protection and aesthetics. Too subtle and it can be cropped or cloned out. Too prominent and it ruins the image for legitimate display. Finding the right balance depends on the use case.
Types of watermarks
Text overlay. Your name, website, or copyright notice rendered on the image. The most common approach for photographers and designers. Typically placed in a corner with reduced opacity (30-50%).
Logo overlay. A graphic element (your logo or brand mark) placed on the image. More visually distinctive than text but requires a well-designed logo that works at small sizes.
Tiled/repeated pattern. The watermark is repeated across the entire image, making it impossible to crop out. Common for stock photo previews. Effective for protection but aggressive visually.
Invisible/digital watermark. Steganographic data embedded in the image that is invisible to the eye but detectable by software. Does not affect visual quality but does not deter casual theft (the watermark is invisible, so there is no visual deterrent).
Placement strategy
The worst watermark placement is a corner. Corners can be cropped. A watermark in the bottom-right corner of a landscape photo is trivially removed by cropping 5% off the right and bottom edges.
Better placement strategies:
- Center of the image at low opacity (20-30%). Covers the main subject, difficult to remove without degrading the image.
- Along a key detail that cannot be cropped without ruining the composition.
- Diagonal across the image from corner to corner. Covers the most area.
- On multiple locations -- a semi-transparent version in the center plus a small one in a corner.
For stock photography previews, a tiled diagonal pattern at 20% opacity is standard. For portfolio display, a single centered watermark at 15-20% opacity preserves viewability while establishing ownership.
Technical implementation
Using the Canvas API in the browser:
function addWatermark(image, text, options = {}) {
const canvas = document.createElement('canvas');
canvas.width = image.width;
canvas.height = image.height;
const ctx = canvas.getContext('2d');
ctx.drawImage(image, 0, 0);
ctx.globalAlpha = options.opacity || 0.3;
ctx.fillStyle = options.color || '#ffffff';
ctx.font = options.font || '48px Arial';
ctx.textAlign = 'center';
// Center placement
ctx.fillText(text, canvas.width / 2, canvas.height / 2);
return canvas.toDataURL('image/jpeg', 0.95);
}
For a more robust watermark, render the text with both a fill and a stroke (outline) so it is visible on both light and dark backgrounds. Adding a subtle drop shadow further improves readability across varying backgrounds.
Batch watermarking
Photographers often need to watermark hundreds of images before delivery or upload. The consistent parameters across all images should be:
- Same relative size (watermark text at 3-5% of image width)
- Same relative position (consistent across landscape and portrait orientations)
- Same opacity
- Appropriate sizing for the image resolution
Batch processing means the watermark scales with each image rather than being a fixed pixel size. A 48px watermark on a 6000px image is invisible. The same 48px watermark on a 600px thumbnail is dominant. Calculating the font size as a percentage of image dimensions ensures consistency.
I built a watermark maker at zovo.one/free-tools/watermark-maker that applies text or logo watermarks to images with configurable placement, opacity, size, color, and rotation. It handles single images and batch processing, scales watermarks relative to image dimensions, and processes everything in the browser so your images stay private.
I'm Michael Lip. I build free developer tools at zovo.one. 500+ tools, all private, all free.
Top comments (0)