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: 


Awesome plugin, really comes in handy!

As I have thousands of photos to edit I'd like the option of watermarking them with great ease.
however I'd like to only post the watermark once on the photo, and perhaps define the position for the watermark to appear in. So if there's a possibility of implementing this feature to the plug-in, Id be incredibly happy.

Thank you in advance!

Olli Salmu

Hi, guys,

Sorry about the belated reply, I haven't been checking the registry lately. Anyway, I implemented some options which you might find useful - you can now select the position of the text in the bump map watermark script (top/middle/bottom), but for that you have to have only one line of text. You can also have more than one line (2 or 3/4 depending on the orientation of each processed image), but in this case the positioning is ignored. Please let me know if this does the job or you need something more elaborate. For example, I was thinking of adding an option to select the offset of the text with respect to some edge (for example, top/left), but this might make the program rather slow without adding any significant improvement. Also, if you don't like the exact position of the text, you can always edit the code - the place where the program computes the position of the text layer is rather obvious and trivial to modify.

Anyway, I'm glad you like the plugin. Let me know if you would like to see any other features which I haven't thought of.


P.S. I added a line which deletes the edited image from the memory after saving it, which should yield significantly lowered memory consumption. The thing is that I originally intended this plugin to handle watermarking of images for the web, which tend to be small and light, but nothing stops you from unleashing it on hundreds of 15MB+'s just that you might have to wait for a while until the program completes.

This seems to be wonderful script :-)

I found the font size of both bump and difference map a bit bigger than my needs. How can I specify selectable font size? Also, how can I embed the embossed watermark something like right hand corner of the image.

When difference map is used, the difference with the original does not seem to render readable in my case. :-(

batch watermarking - can I get it in 'windows' pl
with regards

Hi, Mohan,

You should just install Python in windows and it should work. There is something like a tutorial here:

Hope that helps.

Hi Alexander Hadjiivanov,

I am excited on the fine working after going through your advice and its end result.
Thanks for all your tips.
keep it up.
with regards

Hi, Mohan,

I'm glad you got the plug-in to work - I hope it comes in handy! Please let me know if there are any problems or if you can think of any extra features you might want, and I'll try to implement them.



Replacing may be dangerous
I would suggest to add not only a input but also a output option,

Then if the user wish to replace that is simple as chose the same directory for both input and output

I have Gimp 2.6.10p1 running on Leopard. I'm not sure how to make the script and executable. I've tried downloading it into users/lib/App Support/Gimp/Plug-ins but it still doesn't work. Any suggestions and where exactly am I to find it in the menu and what does it say? Thanks in advance.

Hi, bvon,

To be honest, I've never worked with MacOSX (I work with Linux), but I suppose it's pretty much the same as other *NIX-based OSen. Your .py file should most probably have permissions "755" and be owned by you. You can modify the permissions by running the following commands in the console:

~# chown your_user_name: path_to_file
~# chmod 755 path_to_file

This is true under the assumption that MacOSX commands are the same as those in Linux; Mac users, please correct me if I am wrong!

Once you make the file executable and restart GIMP, the script should be accessible from Tools->Batchwork.

Hope that helps!




Subscribe to Comments for "Batch watermarking and resizing"