2

This question already has an answer here:

I could not find a dedicated photo-editing section, hence posting here. Apologies if wrong place.

Query:

I have thousands of photos, which I need to show time/date/custom-text on all photos.

Editing all individuals photos will be impossible!

Is there any way to do this in batch-mode?

marked as duplicate by mattdm, scottbb, inkista, MikeW Jun 26 '16 at 18:45

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

2

You can use ImageMagick to add text to photos, either overlaid on the photo or on a border. See the annotation section of the documentation for a number of examples. Because ImageMagick is a set of command line tools, you can easily incorporate it into batch processes using shell scripts and other scripting tools.

Example: I've got a photo of some flowers, and I want to add the file name in white text in the lower left corner of the image. Here's the photo:

flowers.jpg

I can use ImageMagick's convert command to generate a new file that shows the file name. (The command takes a number of parameters, so I'm going to break the line with backslashes, but you can enter it all on one line if you want.)

$ convert flowers.jpg -font CourierNewB -pointsize 14 \
      -draw "gravity southwest fill white text 12,12 'flowers.jpg'" \
      flowers_title.jpg

The result is a new file names flowers_title.jpg:

flowers_title.jpg

1

You can easily do it with free Faststone Image Viewer.

Select images, then go to Tools -> Batch Convert Selected Images, then click in Advanced Options and in tab Watermark or Text select the text you want to place on your photos (data from exif and/or your own text).

Not the answer you're looking for? Browse other questions tagged or ask your own question.