How to Add a Watermark to Images in Bulk
3 methods — PixelForge, Photoshop Actions, and Python
Watermarking protects your images from unauthorized use and reinforces your brand. Here are three ways to add watermarks to hundreds of images at once — browser-based, desktop software, and scripted.
Method 1: Using PixelForge (fastest, no software needed)
Add text watermarks to hundreds of images in one batch — no Photoshop required.
- 1Go to the Bulk Watermark tool on PixelForge.
- 2Upload your images or a ZIP of images.
- 3Enter your watermark text (e.g. your name, website, or copyright notice).
- 4Choose the position: bottom-right, center, or any corner.
- 5Set the opacity (40–60% for visible protection; 20–30% for subtle branding).
- 6Adjust font size as needed, then click Process.
- 7Download your watermarked images as a ZIP.
Bottom-right watermarks are the most common — visible enough to assert copyright without distracting from the image content.
Method 2: Using Photoshop Actions
Record a Photoshop Action to automate watermarking across a folder of images.
- 1Open a sample image in Photoshop.
- 2Open the Actions panel (Window → Actions) and create a new Action.
- 3While recording: add a text layer with your watermark, set position and opacity.
- 4Flatten the image (Layer → Flatten Image) and save.
- 5Stop recording.
- 6Go to File → Automate → Batch, select your Action and source folder, and run.
Use 'Fit Image' in your Action before the watermark step to normalize image sizes and ensure consistent watermark positioning.
Method 3: Using Python (Pillow)
Fully customizable text watermarking — best for automated pipelines.
- 1Install Pillow: pip install Pillow
- 2Run the script below, adjusting the watermark text, font size, and opacity.
python
from PIL import Image, ImageDraw, ImageFont
import os
input_dir = "./images"
output_dir = "./watermarked"
WATERMARK_TEXT = "© YourBrand.com"
OPACITY = 128 # 0–255 (128 = 50%)
os.makedirs(output_dir, exist_ok=True)
for filename in os.listdir(input_dir):
if filename.lower().endswith((".jpg", ".jpeg", ".png", ".webp")):
img = Image.open(os.path.join(input_dir, filename)).convert("RGBA")
overlay = Image.new("RGBA", img.size, (0, 0, 0, 0))
draw = ImageDraw.Draw(overlay)
font_size = max(20, img.width // 30)
try:
font = ImageFont.truetype("arial.ttf", font_size)
except OSError:
font = ImageFont.load_default()
bbox = draw.textbbox((0, 0), WATERMARK_TEXT, font=font)
text_w = bbox[2] - bbox[0]
text_h = bbox[3] - bbox[1]
margin = 20
x = img.width - text_w - margin
y = img.height - text_h - margin
draw.text((x, y), WATERMARK_TEXT, font=font, fill=(255, 255, 255, OPACITY))
watermarked = Image.alpha_composite(img, overlay).convert("RGB")
watermarked.save(os.path.join(output_dir, filename), quality=90)
print(f"Watermarked {filename}")
print("Done!")Adjust OPACITY between 0 (invisible) and 255 (fully opaque). 128 (50%) is a good starting point for visible but non-intrusive watermarks.
Frequently asked questions
Where should I position my watermark?
Bottom-right or bottom-left are the most common positions — visible enough to attribute copyright but not so central that they distract from the image. Center watermarks are harder to crop out but more distracting.
What opacity should I use for a watermark?
For visible copyright protection: 40–60%. For subtle branding: 20–30%. For bold, assertive watermarks: 70–80%. Consider your audience — higher opacity deters theft but may annoy legitimate viewers.
Can watermarks be removed?
Skilled users can remove watermarks using AI tools (Photoshop's Generative Fill, etc.), especially if the watermark is in a corner on a simple background. Centered watermarks over key areas of the image are much harder to remove cleanly.
How do I add a watermark to 500 images at once?
Use PixelForge Pro. Upload a ZIP of your images, configure the watermark text, position, opacity, and size, then download a ZIP of watermarked images. Processing 500 images takes about 30–60 seconds.
Ready to try the fastest method?
Add a text watermark to hundreds of images at once. Control position, opacity, font size, and margins.
Add Watermark — free
Papiral
PixelForge
Tabular