You can add a watermark to a photo without uploading it by using a browser-based tool that draws the text on a local canvas. The file stays on your device, you control the wording, position, size, colour and opacity, and the export keeps the full pixel dimensions of the original.
Aihangsoft Image Watermark runs entirely in your browser with the Canvas API. It accepts JPG, PNG, WebP and AVIF files, offers six positions including a diagonal tiled mode, and lets you set size, opacity, rotation, colour and an outline. It handles up to 20 images per batch and exports each one at its native resolution. Batch size, and how a watermark reads on a busy photo, are the two things to plan for before you start. Nothing is uploaded, and there is no account, no daily cap and no per-image fee.
A watermark is a claim: it says who made the image and, ideally, it survives being copied, cropped or reposted. The problem with many free tools is that they want your file first, then hand back a smaller, re-compressed version. This guide covers how to add a watermark to a photo online without giving up the file or the resolution, and where the approach has limits.
Image Watermark
Type your text, pick a position, size and opacity, and download at the original resolution. The photo never leaves your device.
What makes a watermark readable
A watermark does two jobs at once: it credits the work and it deters casual reuse. Getting both means balancing visibility against the photo itself, and four settings decide the outcome: position, size, opacity and outline.
Put a small, low-opacity mark in a corner and it disappears the moment someone crops the frame. Put a large, solid mark across the centre and it becomes the subject of the picture. The middle ground is a readable mark that sits over busy areas without hiding them, and that is what the outline option is for.
Every control here is a percentage of the photo rather than a fixed pixel value. Size runs from 2% to 20% of the image width and defaults to 6%, so the same setting looks consistent on a phone snapshot and on a high-megapixel camera file. Opacity runs from 10% to 100% and defaults to 55%.
| Setting | Range | Default | What it controls |
|---|---|---|---|
| Watermark text | Up to 60 characters | © Your Brand | The line of text that is stamped onto the photo |
| Position | 6 options | Top left | Where the mark sits, including a tiled mode |
| Size | 2% to 20% | 6% | Text height relative to the image width |
| Opacity | 10% to 100% | 55% | How strongly the text shows through the photo |
| Rotation | -45° to +45° | 0° | Tilt of the text around its anchor point |
| Colour | Colour picker | #FFFFFF | Fill colour of the text |
| Outline | On or Off | On | A thin contrasting stroke around the text |
The outline is not a fixed black border. The tool picks the outline colour from the brightness of your text colour: light text gets a dark stroke, dark text gets a light one. That is why white text at 55% opacity stays legible over both a bright sky and a dark interior.
Long text is handled differently again. If the line you type would be wider than 90% of the photo, the tool scales the font down instead of letting it run off the edge. In tiled mode the threshold is 40%, because each repeat has to fit inside its own slot.
How to watermark photos without uploading them
The workflow is the same whether you are watermarking one image or a whole batch, and all five steps happen inside the browser tab. Nothing is sent to a server at any point in the process.
- Add your photos. Drop one image or up to 20 at a time onto the dropzone, or click to browse. JPG, PNG, WebP and AVIF are accepted, and every file is read from your disk into the page.
- Type the watermark text. Keep it short: a name, a studio, a website address or a copyright line. The field holds 60 characters, and a line that is too long for the frame is scaled down rather than clipped.
- Pick a position, colour and outline. Choose one of the five anchor points or Tiled. Set the colour with the picker, white by default, and leave the outline on for photos with busy or mixed backgrounds.
- Tune size, opacity and rotation. Start at the 6% size and 55% opacity defaults, then move them until the mark reads clearly without covering the subject. Rotation runs from -45° to +45°.
- Download. Use Download for the current photo or Download all to export the whole batch. Each file keeps its original pixel size and gains -watermarked in its name.
The preview updates as you drag each slider, so the loop is adjust and look rather than adjust, export and check. Batch downloads are spaced out automatically, because browsers block a rapid burst of automatic downloads from a single page.
The six positions, including tiled
Five of the six settings are anchor points, and the sixth repeats the text across the whole frame. The choice has less to do with taste than with how likely the photo is to be reused.
| Position | Where the text is drawn | Good for |
|---|---|---|
| Top left (default) | Inset from the top left corner | Routine credit lines that stay out of the way |
| Top right | Inset from the top right corner | Balancing a subject or logo that sits on the left |
| Center | Middle of the frame | The hardest position for a crop to remove |
| Bottom left | Inset from the bottom left corner | Marks that read like a signature on the image |
| Bottom right | Inset from the bottom right corner | The usual spot for a name or a domain |
| Tiled | Repeated diagonally across the whole image | Proofs and previews you do not want reused |
Each option is a preset rather than a free position. The five corner and centre marks are inset from the edge by roughly 3.5% of the image width, and the tool centres the text on that point.
Tiled mode works differently: it repeats the text in rows across the frame at a fixed spacing, offsetting every other row so the pattern reads as a diagonal mesh. If you leave the rotation slider at 0 in this mode, the tool uses a -22.5 degree tilt so the rows look natural rather than flat.
Two consequences are worth knowing. A corner watermark is easy to read and also easy to crop off. A full-frame tile cannot be cropped away, but it visibly changes the photo, so it suits previews and draft delivery rather than final publishing. On important shots, keep tiled opacity low.
Why the export keeps full resolution
The image on screen and the file you download come from the same drawing routine, but not at the same size. For the preview, the canvas is capped at a longest edge of 2400 pixels so that very large photos stay responsive; the export is redrawn at the photo's native pixel dimensions.
That matters because every setting is proportional. Size is a percentage of the image width, and the positions are calculated from the canvas dimensions, so a 6% mark in the preview becomes a 6% mark at 6000 pixels wide. You get the layout you see; only the sharpness changes, and it changes upward.
The output format follows the source file. A JPG stays a JPG, a PNG stays a PNG and a WebP stays a WebP, with the lossy formats re-encoded at a high quality setting of 0.95. PNG output is written without lossy conversion, so a screenshot or graphic keeps its edges.
| Source format | Export format | What that means |
|---|---|---|
| JPG | JPG | Re-encoded once at quality 0.95 |
| PNG | PNG | Kept as PNG, with no lossy conversion |
| WebP | WebP | Re-encoded at quality 0.95 |
| AVIF or other | JPG | Falls back to JPG, which has no transparency |
That last row is the one to watch. Because JPG has no alpha channel, a source that is not JPG, PNG or WebP, such as an AVIF with transparent areas, is flattened to a solid fill when it is exported. If you need to keep transparency, convert the source to PNG first.
What this tool cannot do
These are the real limits of a browser-based text watermark. Knowing them before you start saves a wasted export.
- There is no image or logo watermark. The tool draws text only. You cannot upload a PNG logo or a signature graphic, so the layered image-plus-tag mark is out of reach here.
- Non-Latin text depends on your device. The renderer starts from a bundled Latin font and falls back to the operating system's own fonts, so scripts such as Chinese, Arabic or Devanagari appear only when the device has a suitable font installed. There is no font picker and no way to upload a font.
- The watermark is burned into the pixels. Once exported there is no layer to switch off, and the tool has no removal function. Keep your original file, because the marked copy cannot be undone.
- Positions are six presets, not a drag handle. You cannot nudge the mark to an exact coordinate or place two separate marks on one photo.
- A batch is capped at 20 images per drop. Larger sets have to be added in several passes, and browsers may still ask permission for a run of automatic downloads.
- Transparency is not kept everywhere. PNG and WebP preserve an alpha channel, but AVIF and other sources are exported as JPG, which flattens transparent areas to a solid fill.
- Tiled mode changes how a photo looks. A dense tile at high opacity makes the picture hard to read and is the wrong choice for final delivery. Prefer a low opacity, or a single corner mark.
Image Watermark
Free, private and unlimited. No account, no upload and no watermark added by the tool itself.