How To Add An Html Watermark
What is an html watermark?
An html watermark is a visible mark (text or a light image) that sits on top of a web page, a photo, a PDF preview, or a video frame. People use it to show ownership, promote a brand, or add a notice like "Draft" or "Confidential". It is common on portfolios, product galleries, and reports shared online.
Important note: a watermark in the browser is mainly a visual layer. It can discourage casual copying, but it cannot fully stop a determined user from saving or editing content. Still, when used the right way, it adds clarity, branding, and a professional look.
When you should use a watermark
Watermarks are useful in many everyday cases:
- Branding: add your site name or logo to images and previews.
- Status labels: mark pages as Draft, Sample, or Internal.
- Copyright reminders: show ownership or license info.
- User-specific sharing: add an email or order number on downloads.
In each case, your goal is to be visible but not annoying. A soft opacity and a repeated pattern often works best.
Method 1: Text watermark with HTML + CSS (easy)
This is the simplest approach: place a fixed element over the page. It is great for dashboards, reports, and internal tools. Here is a clean example:
<div class="watermark">CONFIDENTIAL</div>
<main>
<h1>Report Title</h1>
<p>Your content goes here...</p>
</main>
Now add the CSS:
.watermark {
position: fixed;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
font-size: 64px;
font-weight: 700;
color: rgba(0, 0, 0, 0.08);
transform: rotate(-20deg);
pointer-events: none;
z-index: 9999;
}
This style keeps the watermark on top, prevents it from blocking clicks, and makes it faint. If you are building an html watermark for a full page, this method is quick and reliable.
Make it responsive and readable
Large text can look too big on mobile. Add a simple responsive tweak:
@media (max-width: 600px) {
.watermark {
font-size: 40px;
}
}
Method 2: Repeating watermark pattern (more professional)
A single big word in the center can be cropped in screenshots. A repeating watermark pattern is harder to remove and looks more consistent. You can do this with a CSS background image that repeats.
A common technique is to generate a small SVG (with your text) and set it as a repeating background. Here is an example using a data URL:
.watermark {
position: fixed;
inset: 0;
pointer-events: none;
z-index: 9999;
opacity: 0.18;
background-repeat: repeat;
background-size: 280px 200px;
background-image: url(