PDF Watermark
Add text or image watermarks to a PDF. Position in any zone or tile across the page, set rotation and opacity, target a page range. All client-side.
Interactive tool
Drop a PDF to watermark
Text or image, single position or full-page tile. Files stay in your browser.
What is the PDF Watermark tool?
A configurable watermark stamper for PDFs. Pick text or an image, place it in any of the nine standard zones, or tile it across the whole page, and adjust rotation, opacity, font, size, color and margin. Apply to every page or a subset. Everything runs in your browser via pdf-lib.
How to Watermark a PDF
- 1Drop a PDF into the upload area
- 2Choose a watermark source: text or image (PNG / JPEG)
- 3Pick a placement: 9-zone single position or full-page tile grid
- 4Adjust rotation, opacity, color and size
- 5Optionally limit to a page range like "1-3" for a "DRAFT" stamp on the first chapters
- 6Click Stamp watermark and download the result
Key features
Text or image watermark
Use a string like "CONFIDENTIAL" or upload a logo PNG / JPEG
9-zone single placement
Standard top/middle/bottom × left/centre/right grid
Tile mode
Repeat the watermark across the whole page in a configurable rows × cols grid
Rotation
−180° to 180° at 5° increments: diagonal "DRAFT" stamps in two clicks
Opacity slider
5% to 100%: go subtle for branding, opaque for legal disclaimers
Per-range stamping
Skip the cover or appendix with a range string
Live page-1 preview
Position simulation updates as you tweak settings
100% client-side
pdf-lib runs in your browser; nothing is uploaded
Why a local watermarker?
Watermarks usually live on documents you do not want to upload: confidential drafts, signed contracts, medical scans, legal filings. Online watermark tools see both your file and your branding. This tool keeps everything in the browser via pdf-lib, so your draft NDA never leaves your laptop. Because pdf-lib only writes a small text run or image XObject per stamp, the underlying page contents are not re-encoded.
Common use cases
- Stamping "CONFIDENTIAL" diagonally across a contract draft
- Tiling a corporate logo across every page of an internal report
- Adding a translucent client logo to a portfolio export
- Marking an exam paper with the word "DRAFT" before review
- Branding case studies with a small wordmark in the bottom-right
- Adding date or version information to release notes
Single vs Tile placement
- 9-zone single: One stamp per page, anchored to a corner or centre. Use for legal stamps, page numbers, or branding.
- Tile: A full grid of stamps. Best for "DRAFT" or "DO NOT COPY" patterns that should be visible regardless of which part of the page someone screenshots.
Limitations
- Password-protected PDFs are not supported; remove the password first
- Standard fonts (Helvetica, Times, Courier) cover Latin scripts only
- Image watermarks must be PNG or JPEG; SVG is not supported by pdf-lib
- The preview is a position simulation; final pdf-lib metrics are slightly different but visually close
- Digital signatures are invalidated by any page modification
Tips & best practices
Use a low opacity for tiled watermarks
A 0.15-0.25 opacity tile reads as branding without obscuring the text. Anything above 0.4 starts to fight the body content.
Diagonal text reads best at -30° or -45°
These angles are the convention for "DRAFT" / "CONFIDENTIAL" stamps in legal documents.
Use Image mode for logos
Embed the actual brand colours and gradient via PNG; text mode is best for short labels.
Use Cmd+↵ to apply
Cmd+Enter (Ctrl+Enter on Windows) triggers Stamp without leaving the keyboard.
Combine with PDF Compress
Image watermarks can inflate the output. Run the result through PDF Compress for client distribution.
Privacy & security
Files, watermark text, and image data never leave your browser. pdf-lib does the writing, pdfjs-dist generates the live preview: both run entirely client-side.
Related tools
- PDF Header & Footer
Add headers and footers to a PDF. Six independent slots (header L/C/R + footer L/C/R), text or image, opacity, page range. All in your browser.
PDF Tools
- PDF Merge & Split
Merge multiple PDFs into one or split a PDF by pages. All processing runs in your browser.
PDF Tools
- PDF to Image
Convert PDF pages to PNG or JPG images using pdf.js. rendered locally in your browser.
PDF Tools
- PDF Password Remover
Remove the password from a PDF you have access to. Works entirely in your browser: your password and document never leave your device.
PDF Tools
- Transformer Sizing Calculator
Compute required transformer kVA from connected load, power factor, future growth, K-factor (harmonics), and ambient derating. Picks the next NEMA standard rating.
Electronics & Embedded
- Generator Sizing Calculator
Size a standby or prime generator from continuous load, largest motor (HP + NEMA code letter + start method), altitude and ambient derating. Picks the next standard kW rating.
Electronics & Embedded
Frequently Asked Questions
Can I tile a watermark across the page?
Yes. Switch the placement mode to Tile and choose how many columns and rows you want. The tool centres the watermark inside each cell of the resulting grid, so a 3×4 tile gives 12 stamps per page.
Does this re-encode my PDF?
No. pdf-lib only adds a small text run or image XObject per stamp. The page contents (text, images, fonts) are passed through byte-for-byte.
Can a recipient remove the watermark?
A determined attacker with a PDF editor can. Watermarks are an attribution / provenance signal, not encryption. For real protection, combine with the PDF Password Protect tool (when shipped).
What angles work best for "DRAFT" / "CONFIDENTIAL"?
-30° and -45° are the legal-document standard. Set opacity to 0.15-0.25 so the watermark is visible without obscuring the text underneath.
Will text watermarks embed the font?
Only the standard fonts (Helvetica, Times, Courier) are used, which are guaranteed to be available in every PDF viewer. No custom font upload required.
Is the file uploaded?
No. The PDF and any watermark image you choose stay in your browser. pdf-lib does the writing locally; pdfjs-dist generates the preview locally.