Python to take an Image and add Watermark with Full Source Code


This Project will take an image and add the desired watermark to it.

About this Project:

This project uses the PIL module and OS module to add the watermark. PIL, the Python Imaging Library, is an open-source library that enables the users to add, manipulate and save different file formats.


  • PIL==1.1.6


Use the Script In the command line, Enter

python3 [image_path]Code language: CSS (css)

Replace the [image_path] with the image you want to add watermark to.

The output will be the image with the desired watermark.

Source Code:

import os
from PIL import Image
from PIL import ImageFilter
def watermark_photo(input_image_path, output_image_path, watermark_image_path):
    base_image =
    watermark =
    # add watermark to your image
    position = base_image.size
    newsize = int(position[0] * 8 / 100), int(position[0] * 8 / 100)
    watermark = watermark.resize(newsize)
    # Blur If Needed
    # watermark = watermark.filter(ImageFilter.BoxBlur(2))
    new_position = position[0] - newsize[0] - 20, position[1] - newsize[1] - 20
    transparent ="RGBA", size=position, color=(0, 0, 0, 0))
    # Create a new transparent image
    transparent.paste(base_image, (0, 0))
    # paste the original image
    transparent.paste(watermark, new_position, mask=watermark)
    # paste the watermark image
    image_mode = base_image.mode
    if image_mode == "RGB":
        transparent = transparent.convert(image_mode)
        transparent = transparent.convert("P"), optimize=True, quality=100)
    print("Saving " + output_image_path + " ...")
folder = input("Enter Folder Path : ")
watermark = input("Enter Watermark Path : ")
files = os.listdir(os.getcwd())
if not os.path.isdir("output"):
c = 1
for f in files:
    if os.path.isfile(os.path.abspath(f)):
        if f.endswith(".png") or f.endswith(".jpg"):
            watermark_photo(f, "output/" + f, watermark)Code language: PHP (php)

Leave a Comment