Image Watermark
Add a text watermark to an image with control over position, opacity, and rotation
Drop an image — JPG, PNG, WebP. For HEIC, run through HEIC to JPG first.
Max file size: 50MB
How to Image Watermark Online
Add a text watermark to an image with control over position, size, color, opacity, rotation, and tiling.
- Drop an image — JPG, PNG, or WebP. The preview shows the watermark live as you adjust controls.
- Type your watermark text — typical patterns are `© Year Your Name`, `@your.handle`, or a website URL.
- Pick a position (9 anchors from top-left to bottom-right), font size, color, opacity, and rotation.
- Toggle 'Drop shadow' to improve readability against complex backgrounds (default on).
- Toggle 'Repeat pattern' to tile the watermark across the entire image — useful for discouraging unauthorized reuse.
- Click Download to save the watermarked image. The filename gets a `-watermarked` suffix.
About Image Watermark
A watermark on an image makes three different claims at once: this is mine, please credit me, and please don't repost without permission. None of those claims is enforceable by the watermark itself — the file format makes it trivial to crop the watermark out, clone-stamp it away, or AI-fill the area. What watermarks actually buy you is **friction**. A casual scraper who copy-pastes a photo to their feed will leave the watermark on; a determined attacker will remove it; the middle ground — people who'd reuse a photo but won't bother editing it — sees the watermark, sees the implicit "I'm watching," and reaches for a different image. That's the win.
The tool here is the simplest possible canvas-based watermarker. Drop an image, set the text, dial in the look. The preview re-renders on every control change, so the feedback loop is instant — adjust the opacity slider, see the photo update under your finger. No backend, no upload, no waiting.
Two **modes** matter:
- **Single-position** places one watermark at a chosen anchor (corner or center) with a configurable padding from the edge. The right pick for *attribution* — you want the watermark visible to someone who looks for it, but not blocking the image content. Bottom-right with `© Year Your Name` at 70% opacity is the convention copied from print photography.
- **Repeat-pattern** tiles the watermark across the entire image at a chosen rotation. The right pick for *discouragement* — the watermark is on every visible part of the photo, so cropping it out also crops out content. Stock photo preview images use this pattern (Getty, Shutterstock, Adobe Stock) at -45° rotation with low opacity. The implementation here covers the full rotated bounding box, so even with rotation enabled the watermark fills edge to edge.
The **rotation** slider in single-position mode tilts the text around the chosen anchor — slight tilts (-15° to +15°) feel intentional and stamp-like, while larger rotations are mostly artistic choices. In repeat-pattern mode, rotation tilts the entire grid; the classic stock-watermark look is -45° at around 0.2 opacity.
The **drop shadow** option adds a 1-pixel offset shadow behind the text. On a busy background (sky with clouds, a face with skin tone variation, a textured wall), pure white or pure black watermarks are surprisingly hard to read because the background contrast varies pixel to pixel. The shadow adds a thin dark or light edge that survives whatever the background pixel happens to be. Default-on; turn off if you specifically want a clean look on a uniform background.
A few practical notes.
**Color choice matters more than expected.** White with drop shadow works on 80% of photos because most photos contain enough dark areas to give white visible contrast. Black with drop shadow works on the rest. Bright colors (red, yellow) look unprofessional except in deliberate brand contexts. Stick to white or black for most attribution use cases.
**Output size grows.** Canvas re-encoding picks default JPEG quantization tables that are usually less optimal than the camera/editor that produced the original. Expect the watermarked file to be 10–30% larger than the source at the same visible quality. If size matters, run the result through the Compress Image tool.
**Metadata gets stripped.** Same as the Rotate and EXIF Strip tools — canvas re-encoding drops all sidecar metadata. The watermarked output has no EXIF, no GPS, no camera info. This is usually what you want before posting; if not, add attribution metadata back via `exiftool` after watermarking.
**This is not authenticity verification.** A visible watermark is one tier of provenance signal among several. For cryptographically-signed provenance (which a sophisticated attacker can't trivially fake), use **C2PA** (Coalition for Content Provenance and Authenticity) — the standard supported by Adobe Creative Cloud, Microsoft Designer, several Sony cameras, and emerging in browser support. Watermarks are friction; C2PA is the audit trail.
Everything runs in your browser. The watermarking pipeline is pure canvas — no libraries, no wasm, no network. The page bundles to under 4 KB on top of the shared React runtime. Object URLs are properly revoked on unmount, so memory doesn't leak even after watermarking multiple images in a row.
Related Tools
Frequently Asked Questions
Why use a watermark at all?
Three reasons. **Attribution** — a small `© Your Name` corner watermark identifies the source if the photo gets reposted without credit. **Discouragement** — a large translucent diagonal watermark across the whole image makes the photo unappealing for casual scraping while leaving the content visible to legitimate viewers. **Verification** — for photos you'll share publicly but want to assert ownership of, a watermark is the simplest claim signal. None of these is genuine theft prevention (any determined attacker can crop or paint over a watermark), but the friction is real and matters.
What's the difference between single-position and repeat-pattern mode?
**Single-position** places one watermark at the chosen corner or center, with adjustable padding from the edge. Good for attribution — it's visible but not in the way. **Repeat-pattern** tiles the watermark across the entire image with a 45° or chosen rotation, like a banknote. Good for discouragement — every part of the image carries the watermark, making it hard to crop out without losing significant content.
Why does my watermark look thin or hard to read?
Two likely causes. **Color contrast with the background** — white text on a sky-blue photo or black text on a dark photo is low-contrast. Enable 'Drop shadow' to add a 1-pixel offset shadow that improves readability against any background. **Opacity too low** — opacity 0.3 is barely visible; bump it to 0.6–0.8 for legibility. The default 0.7 with drop shadow on works well for most photos.
Does this preserve EXIF / metadata?
No — same canvas re-encode pipeline as the EXIF Stripper and Rotate tools. The output has no EXIF, no GPS, no camera info. This is usually fine (you probably wanted to remove the GPS coordinates anyway before posting), but if you specifically need attribution metadata, add it back with `exiftool` at the command line after watermarking.
How does the rotation affect the layout?
In single-position mode, rotation pivots the text around the chosen anchor point — bottom-right + rotation -15° gives a slight upward tilt typical of stamps. In repeat-pattern mode, rotation tilts the entire grid; -45° produces the classic diagonal-stripes-of-watermark look used by stock photo previews. Negative rotates counter-clockwise, positive rotates clockwise.
Will the watermark show through if the file gets edited?
No, it's just pixel data — anyone can paint over it with a clone-stamp or content-aware fill in any image editor. For real provenance, use **C2PA** (Coalition for Content Provenance and Authenticity), the cryptographically-signed metadata standard supported by Adobe, Microsoft, Sony cameras, and emerging in browsers. Visible watermarks are deterrence, not security.
Is the image sent to a server?
No. Watermarking is a canvas draw operation running in your browser. The source image, the watermark text, and the output never leave your tab. Verify in DevTools — no outgoing requests during interaction.