Create thumbnails giving attention to the orientation

There is now phatch. Use the really nice tool to create thumbnails and other batch processes instead! You can install it with
sudo apt-get install phatch

Every now and then I need to get thumbnails of my pictures. I found some solutions, that create thumbnails, but none of them gave attention to the orientation of the image. So if I wanted to resize the images to 640×480 than the landscape pictures had a correct resolution of 640x480px but the portrait pictures had something like 640×850 or even 640×480 (deforming the picture to landscape). So I wrote a script to do this job for me.


You need to install imagemagick to get the script working. (sudo apt-get install imagemagick).

I installed the script as nautilus-script.

  1. Download the thumbnail-script and modify the script to your needs (See more at the bottom)
  2. Create the folder “~/.gnome2/nautilus-scripts/” and copy the script into this folder named create_tn
  3. Make it executable
    (chmod a+x ~/.gnome2/nautilus-scripts/create_tn)
  4. Restart nautilus per killall nautilus
  5. Now you can start the script by going into the folder where your original images are and right click anywhere in the white area or on a file and select Scripts -> create_tn.

Now the script creates thumbnails of all the images of your current directory and places it into the subfolder thumbnails.

Modify the script to your needs

  • Change the resolution of the thumbnails: Change the variables long and short in line 4 and 5. eg. use long=”1024″ and short=”768″ if you want a landscape resolution of 1024×768 and portrait resolution of 768×1024.
  • Ask every time for a resolution: If you want every time another resolution just uncomment the lines 11-14. Now you can enter every time you start the script a resolution like 800×600 or 1024×768 so width x height without spaces.
  • Use a better quality: The script uses a quality of 80% for image resizing. If you need a better one you can change it in line 34 by modifying the number after “-quality”. So you can replace 80 by 60, 100 or every other integer number you want.


If the Download from Rapidshare does not work you can copy and save the source:

# Define a fixed resolution
## Enter a resolution every time
## Uncomment the next lines if you want to enter the resolution
## each time manually
#resolution=`zenity –entry –text=”Resolution: (eg. 1024×768)”`
#posx=`expr index $resolution x`
# Filecount for progressbar
filecount=`find -maxdepth 1 -iname “*.jpg” | wc -l`
let “inc=100/$filecount”
mkdir -p thumbnails
# Creating thumbnails
(for i in *.jpg *.JPG; do
echo “$progress”;
echo “# Resizing $i”;
width=`identify -format %w $i`
height=`identify -format %h $i`
if [ $width ge $height ]; then
convert resize $size quality 80 $i thumbnails/$i
let “progress+=$inc”
) | zenity progress title “$Creating thumbnails…” percentage=0


4 Responses to “Create thumbnails giving attention to the orientation”

  1. 1 Felipe March 23, 2008 at 3:57 pm

    Hey man its not working here. It does creates a subfolder calles thumbnails but this filder is allways empty.. any idea?

  2. 2 ataub2qf May 28, 2008 at 10:03 am

    There is now a nice too called phatch, which has a gui 🙂
    Install it with

    sudo apt-get install phatch

  3. 3 jinxi September 26, 2008 at 3:35 pm

    geiles Tool!
    Danke dir vielmals

  4. 4 fandrew August 31, 2010 at 11:17 am

    Use ImageMagick option “-auto-orient” before “-resize” when using convert. No need to check the orientation, also your script does not work with recent digital cameras which save orientation into EXIF data.

Comments are currently closed.

%d bloggers like this: