You are here

Batch watermarking and resizing

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
Rate this item!

This plug-in is designed for batch watermarking and resizing of image files. It lets you choose the directory which contains the images, the file extension, the font, the copyright text and the options associated with the processing. Useful for photographers who upload a lot of photos on the web and don't want to watermark every single file individually. The resulting images contain between one and four instances of the copyright text (selectable as an option). Also, if you select a single instance of the text, the position of the text can be set to the top, middle or bottom part of the image.

There is also a second watermarking script, which is based on a difference map. The watermark text is practically invisible, but can be easily recovered by using the original (non-watermarked) image. This is useful when an image needs to be protected but the text must not be visible for aesthetic reasons.

At present, the script does not perform any sanity checks, so don't give it single-pixel images to process :). Also, it takes a while to finish if there are a lot of images, especially if they are large, so stock up on patience!

As far as I can judge, it should work with all releases of GIMP which support python-fu.



Edit (Version 1.04)

Added options to select the position and/or number of text lines in the bump map watermark script


Edit (Version 1.03)

Improved speed and reduced memory footprint
Added a new watermarking technique, which is useful for cases where the visual impact on the image must be minimal


Edit (Version 1.02)

Added a few tweaks to the watermarking script (including better handling of file extensions)
Moved the menu entry to Tools->Batchwork
Added a batch resizing script which is aware of the image orientation. Useful for fitting images into square div elements on web pages.


Edit (Version 1.01)

As suggested, I updated the script so that it allows you to choose the output directory. If you want to replace the original files, just make the output directory the same as the input one.

batchwork.py17.92 KB
GIMP Version: 
Code License: 


Hi A,

I already tried several times, but can not change the type of file into .py or python file, it always as text document because the link/attachment itself is a text document type, it is not direct as a python type of file.

I hv opened the link and save it directly into gimp/plug-ins, but the file type can not be change into python file type, it is a text document type.

Can u help me? thanks

What OS are you using, by the way? Windows XP, Vista, 7?

All you need to do is right click the link and (depending on your OS and browser) select Save file as (or Save Target as - or Save Link as - whichever the case may be) and then when it opens the Save File menu, simply remove the .txt extension, browse to your .gimp-2.6/plug-ins folder and save it.

Hi Mahvin,

I'm using windows XP SP3, I hv followed the instruction : right click on the link and then choose save the link, it will appear the Save File menu include what do u want to save for the File Name and the type of File (File Type), the File name is (that doesn't appear .tx on the end of the name) but the File type is automatic as Text File and the other one is All Type File, so I can not change anything here, it will direct save as Text File in GIMP Plug-ins folder

In your plug-ins folder, what does the file show as?

it works now!... I just try again to save this link in plug-ins folder, with choosing all files type again, but this time I add on the back of the link name : '''' with .py, so voila! it works, the file is save in my plug-ins folder as python file this time and not text file, thanks alot for replying me


i place the script under ~/.gimp-2.6/scripts/ on my ubuntu 9.10 linux, but i can not found any menu-entry in my gimp-ui also after an restart of gimp. I hope it is not the language-settings, because i use it in german.
Can anyone tell me, whats wrong her.


What spoilt_exile is saying is correct - there are two separate directories for scripts: the "scripts" directory is for ones written in scheme (with extension .scm), and the other is for scripts written in Python (with extension .py).

Hope that helps,


You should place Python script in plugin folder not in scripts. After that make script executable.


thanks for your both help, it works perfect for me, now.
very good work.


I love your plug-in but can you make it so there's only one line of text on the photo? Say in the middle of the photo?


Subscribe to Comments for "Batch watermarking and resizing"