Skip to content

Free PDF tool

Add a watermark to a PDF

Mark documents before you share them. The watermark is added as real text over the page content, diagonally or in a corner, with the opacity you choose.

Your PDF stays on your device

  • Free, no account needed
  • Built on the open-source libraries pdf-lib and PDF.js
Runs in your browser. Files are not uploaded.

How it works

Add a watermark to a PDF in 4 steps

  1. 1

    Add a PDF

    Drop the document onto the tool or choose it from your device.

  2. 2

    Write the watermark

    Enter the text and choose position, size, colour and opacity.

  3. 3

    Choose pages

    Apply it to all pages or to a selection such as 1 or 2-last.

  4. 4

    Apply and download

    Select Add watermark and save the stamped PDF.

Questions

Frequently asked questions

Are my files uploaded to a server?

No. The tool runs entirely in your browser: the PDF is read, changed and saved on your device, and its contents are never sent to our servers.

Can the watermark be removed?

A text watermark added on top of the page can be removed by someone with a PDF editor. It is a clear visual marking, not a security feature; use access control or encryption for confidential documents.

Which characters are supported?

The browser tool uses the standard PDF fonts, which cover Latin characters (Windows-1252). For other scripts, render the watermark with the API, which embeds full Unicode fonts.

Can I use password-protected PDFs?

Not in the browser tool. Encrypted PDFs cannot be modified without the password, so the tool reports them instead of producing a broken file. Remove the protection with the software that created it, then try again.

Automate it

Do the same in your application with Dynamic Document API

Apply text or image watermarks server-side, over or under the page content, for example to mark test-mode documents.

POST /v1/pdf-tools/watermarkPlanned endpoint

This endpoint is specified in the public API but not released yet; the request shape may still change.

curl -X POST https://api-eu.dynamicdocumentapi.com/v1/pdf-tools/watermark \
  -H "Authorization: Bearer $DYNAMIC_DOCUMENT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "source": {
    "url": "https://example.com/contracts/draft-4410.pdf"
  },
  "text": {
    "content": "DRAFT",
    "font_size": 72,
    "color": "#9AA1AD",
    "opacity": 0.25,
    "rotation": 45
  },
  "position": "diagonal",
  "pages": "all",
  "layer": "over"
}'