Image Watermark

Stamp a copyright notice or any text over your photos with control of font, size, opacity and position, plus tiled repeat, and export as PNG, JPEG or WebP.

Watermarking happens locally in your browser. Your photo never leaves your device.

Add your watermark

Drop a photo here

PNG, JPEG or WebP. Click to browse.

How It Works

The photo is decoded once and kept at its native resolution in an offscreen canvas. Every control change redraws that canvas — image, then text — and the visible preview is a scaled copy of the same result, so what you see is exactly what you export, pixel-for-pixel modulo the preview downscale.

globalAlpha compositing
With ctx.globalAlpha = o, each drawn pixel is blended per channel as out = bg × (1 − o) + text × o. At o = 1 the text is opaque and hides the photo; at the default 0.45 the underlying detail shows through, and the color picker only chooses the text side of that mix.
Tiled repeat and spacing
In tile mode the tool measures the rendered string with measureText and walks a grid whose step is the text width plus an 80 % gap horizontally and four font-sizes vertically, offsetting every other row by half a step so the pattern reads diagonally and leaves no straight seam to mask out.
Why PNG keeps transparency
PNG stores an alpha channel, so if your input had transparent areas they survive the canvas round-trip untouched and the export carries them again. JPEG has no alpha, so the tool flattens onto white first (you will see the change), and WebP supports alpha but re-quantizes it alongside the pixels.

Frequently Asked Questions

Is the watermark baked in or overlaid?

Baked in. The exported file contains the text drawn into its pixels — nothing floats above the image the way an HTML overlay would. That is the point: a watermark that travels with the file cannot be switched off by re-posting the image somewhere else.

Can I use my own font?

Not here — loading arbitrary font files needs a separate licensing and parsing step, so the tool sticks to the three universal CSS generic families: sans-serif, serif and monospace. Your operating system maps each to its default (Arial/Helvetica, Times, Courier-class) which is what most stock watermarks use anyway.

Does adding a watermark degrade the photo?

The pixels under the text change by design; the rest are copied through canvas 1:1. Any re-encode, though, touches the whole frame: PNG output stays mathematically lossless, while JPEG and WebP re-quantize at your quality setting. For a lossless watermarked original, export PNG or WebP at quality ≥ 0.95.

Why would I tile the watermark instead of using one corner?

A corner stamp is one crop away from disappearing; a semi-transparent repeated pattern survives cropping and is hard to paint out without leaving traces, which is why stock agencies tile. Keep opacity low (15–30 %) with tiling so the preview stays legible but the cost of removal outweighs the theft.

Is anything uploaded to a server?

No. Decoding, drawing and encoding all happen in your browser through the Canvas API — no libraries come from a CDN and no request carries your image. The page works with networking turned off entirely.