Image Watermark
ImageAdd a text or logo watermark to images in your browser — position it on a 9-grid, custom spot, or tiled, set opacity and rotation, then export to PNG, JPEG or WebP. Nothing is uploaded.
On this page
What is an image watermark?#
A watermark stamps a piece of identifying information — text, a logo, or a repeated pattern — over a picture so that anyone who copies the picture also copies your mark. People reach for it for three reasons: claiming authorship on public portfolios, discouraging unauthorized reuse of client proofs, or slapping a visible “DRAFT” or “CONFIDENTIAL” across a document before it ships. Doing it well is less trivial than it looks: the mark has to be legible without burying the subject, positioned predictably, and ideally tiled diagonally so it cannot be cropped out.
This page is a full watermark studio that runs entirely in your browser. You load an image, choose a text or logo watermark, pick one of three placement strategies (nine-grid corner/center, custom percentage, or all-over tile), tune opacity, angle, color, and font, and export the result as PNG, JPEG, or WebP. The original is decoded locally and the watermarked pixels are re-encoded locally.
How to use it#
- Drag an image onto the dashed drop area (or click it to pick a file).
- At the top, choose the Watermark type:
- Text — type the string (mixed Latin and CJK both render, because the font stack carries a CJK fallback). Then pick Font (Sans / Serif / Mono / Cursive), drag Font size (8–400 px), choose a Color, and tick Bold if you want weight.
- Image — click Logo to load a second image; it is fitted to a percentage of the canvas width (1–100%) while keeping its own aspect ratio.
- Pick the Position mode:
- 9-grid — click one of nine cells (top-left, center, bottom-right, and so on). The watermark is inset from the edge by a margin computed as 4% of the shorter side, and clamped so it never spills off-canvas even when it is bigger than the cell.
- Custom — two sliders set X% and Y%. These are travel-based: 0% parks the mark against the left/top edge, 100% parks it against the right/bottom edge, so 100% never pushes it halfway off the picture.
- Tile — the watermark repeats across the whole image with horizontal and vertical Gap sliders (0–400 px). When you add an Angle, the tile grid is laid out over a square the size of the canvas diagonal and rotated about the center, so every corner stays covered.
- Set the overall Opacity (0–100%) and Angle (−180° to 180°) — the angle applies to a single mark in 9-grid/custom mode and to the whole tiled field in tile mode.
- Choose Format (PNG / JPEG / WebP) and, for the lossy formats, Quality (5–100).
- Watch the preview update live, then click Download. Use Reset to return every slider to its default.
Key features#
- Three real placement strategies, not a single “center” toggle. Nine-grid for signature marks, custom for precise offsets, and true diagonal tiling that cannot be cropped away.
- Diagonal tile that actually covers the canvas. The tile field is computed over a square sized to the canvas diagonal and rotated about the center — the one approach that leaves no bare corner.
- CJK-safe fonts. Every font preset ships with a CJK-capable fallback in its stack, so a watermark like “Sample watermark 2026” with Chinese characters renders instead of showing tofu boxes.
- Travel-based custom position. 100% means flush against the far edge, not “half off the picture”, so positioning is predictable by feel.
- Logo fit that respects aspect ratio. A logo is scaled to a percentage of the canvas width and never stretched, so a circular badge stays circular.
- 100% local. Both the source image and the optional logo are decoded and composited in-browser. Nothing is uploaded.
Worked example#
You are sending out client proofs and want a faint, uncroppable diagonal “PROOF” over each one. Load a 1920×1280 photo. Set Watermark type: Text, type PROOF, choose Sans, Font size 120, Color #ffffff, Bold on. Switch Position to Tile, set Gap X and Gap Y to about 240, then drag Angle to −30° and Opacity to 25%. The preview shows the word repeated on a diagonal lattice across the whole frame, with each copy faint enough that the subject still reads clearly. Export as JPEG at Quality 85.
For a single bottom-right brand mark on the same photo instead, leave Position on 9-grid, click the bottom-right cell, set Opacity 80%, Angle 0°, and the margin auto-sets to about 51 px (4% of the 1280 short side). The result is a clean badge sitting comfortably inside the corner rather than glued to the pixel edge.
FAQ#
My Chinese-character watermark shows boxes instead of characters.#
That happens when the rendering environment has no CJK glyph at all. This tool’s font stacks all include a CJK fallback (such as PingFang SC, Microsoft YaHei, and Noto Sans CJK), so on any system with one of those installed the text renders correctly. On a stripped-down server without any CJK font installed, no browser tool can draw characters the operating system does not have.
Why does 100% in Custom mode not push the mark off the edge?#
Because the percentage is measured against the available travel — the canvas width minus the watermark width — not against the raw canvas. So 0% is flush left, 100% is flush right, and the watermark always stays fully on-screen regardless of its size.
The tile leaves a bare corner when I rotate it.#
Make sure you are using Tile mode, not Custom with several hand-placed copies. Tile mode lays the grid out over a square the size of the canvas diagonal and rotates that square about the canvas center, which is the only geometry that guarantees full coverage at any angle. A hand-placed diagonal pattern cannot do that.
Does watermarking degrade the image quality?#
Compositing itself does not, but re-encoding as JPEG or WebP does, controlled by the Quality slider. If you need a pixel-perfect master, export as PNG (lossless); for web proofs, JPEG at 85–92 is indistinguishable to the eye and far smaller.