You are here

Contact Sheet

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

A python script that generates a contact sheet or index print containing a configurable number of images. Multiple sheets are generated, the filename can also be included.

Hey if you find this plugin useful or useless send me an email, it has been downloaded 1000's of times but very seldom do I get any feedback.

To install copy to ~/.gimp?-?/plug-ins/ directory or /usr/lib/gimp2-0/plug-ins/ and make executable with chmod +x

This updated version works with version 2.4 of The Gimp, tiff support is included.

Thanks to Elmar at for the version update and language translations.

Once again thanks the Elmar who has been responsible for all of the updates.

Known problems

1. Set topmargin at least 5 mm otherwise contactsheet page will not be visible.
2. German characters (ie umlaut) in the filename will not be recognized and gives an error. Plugin stops.
3. Printing with GIMP gives a rightshift of the contactpage for unknown reasons. Use Gutenprint plugin instead.

Version history

version 2.16 (released 16-Dec-2011)

Updated to latest current version - thanks to Elmar again.

version 2.12 (released 04-jan-2010)

1. Added option to disable the extension to print. Useful if you wish only a name to the photo. I used it to print a lot of passport photographs (classroom of my child) on a single sheet.
2. Added French language pack v1.0. Thanks to Hervé for the French translation.
3. Updated Dutch language pack v1.4.
4. Updated localization file.

version 2.11 (released 30-oct-2009)

1. Added .bmp support.
2. Updated Dutch language pack v1.3.
3. Updated localization file.

version 2.10 (released 22-sept-2009)

1. Added simple printing capabilities. You have to experiment with your printer for the best results. Very important: the plugin uses the default Gimp builtin printer driver (will be changed in future releases). Unfortunatly I cannot set any of the parameters (pagesize, margin, etc) you have to set the parameters of your printer first :(. Set margins in your printerdriver to zero and choose your correct papersize.
2. Added .ps/.eps support. The special .ps/.eps version of contactsheet has been removed. Remember to add ghostview/ghostscript to GIMP if you want to select an .eps/.ps type image otherwise contactsheet refused to work. For this reason selecting "all registered types" in imagetypes will exclude .ep/.eps types of images.
3. FIXED: "Under certain conditions it was possible that not all possible rows were placed on contactsheet". Problem has been solved.
4. Code has been partly rewritten.

version 2.06

1. FIXED: "It is possible that not all possible rows are placed on the contactsheet. These rows are placed on the next contactsheet." A miscalculation has been corrected. It was only visible when a large number of images per row was choosen without the filename option.
2. Margin round the image can now be changed in tenth of a mm.
3. Maximum number of images per row has been increased to 256.
4. Maximum number of rows has been increased to 256.
5. Maximum number of DPI has been increased to 1000.

version 2.05

1. A little 'error' (a testlog command has not been set to off) has been corrected, nothing else has been changed. Look for "../tmp/gimp.log" on your system, delete this file.

version 2.04

1. FIXED: "Set topmargin at least 5 mm otherwise contactsheet page will not be visible." Topmargin can now be as low as possible. It is the user responsebility to take care of the printable margin. For instance my printer (HP CP1700d) the left-right margin should be set at least 5mm otherwise that part of the image wil not be printed.
2. FIXED: "Textfile (if option is checked) is not emptied wih each batch run so it will grow to infinity. You have to manually empty/delete this file." Textfile is now emptied before information is written.

version 2.03

1. Margin round the image can now be changed from zero on.
2. Added "sorted images" as option.
3. Updated Dutch language pack to v1.2.
4. Updated localization file.
5. FIXED: "Files with an extension .j .jp .jpe .p .pc .t .ti .x .xc .pn , will be seen as images. If it is not a imagefile the plugin stops. Remove/move/rename all files with those extensions." It is not longer necessary to remove these files.

version 2.02

1. Margin round the image can now be changed
2. Font size can now be choosen. Be aware that fontsize automatically will be scaled down to fit the image width
3. added .XCF support
4. added a choice to save a text filelist from the printed images with the directory name where the image is located. Useful if you have a lot of images in several directory's. Name is the same as the contactpage name but with the .TXT extension
5. code has partly been rewritten

version 2.01

1. Dutch language pack added

version 2.00

1. now possible to make contactsheet of a whole directory including subdirs
2. two radiobuttons replaced by option buttons
3. added several paperformats
4. images are sorted in the way the systems sort the images
5. added extension in the filename
6. added support for pcx format
7. added making contactsheets of all registered formats in one batch
8. number of rows is now limited to paperheight (automatic scaled down if necessary)

Installation notes

Windows users:

The plugin works on the following system:
Windows XP pro SP3
GIMP v2.6.6
Python version 2.6.2c1 (r262c1:71369, Apr 7 2009, 18:44:00)

Note for installation on Windows.
First install Python -> restart
Install pygtk, pygobject, pycairo -> restart
(Re)install GIMP
Unzip the language pack (newer versions at Elmar's site)
Install language pack ( in the GIMP locale directory ([drive]:\Program Files\GIMP-2.0\share\locale\[your language dir]\
Install your plugin in: [drive]:\Documents and Settings\[user]\.gimp-2.6\plug-ins\ The plugin is now only available for you.

LINUX users

Install python
Copy the script to /home//.gimp-2.6/plug-ins/
make the script executable with chmod +x /home//.gimp-2.6/plug-ins/
Translations, not certain how to do this with linux yet will update when figured out

GIMP Version: 
Code License: 


Very good at producing a contact sheet. And a couple of suggestions.
1) multiple pages. It would be good to be able to produce multiple page pdfs of contact sheets.
2) background color. It is now white. it would be good to be able to choose color, or a least gray background.

Contactsheet will not be updated anymore except for bugfixes. Use Indexprint instead. Indexprint is capable of colored background. PDF output is a good suggestion I will keep that in my mind.

The latest version of Indexprint (V4, has now PDF output capabilities. Unfortunately only one page at a time.
The background can now be altered to standard white, a solid color, or a image. The opacity of the latter can be set.

Traceback (most recent call last):
File "/usr/lib/gimp/2.0/python/", line 692, in response
dialog.res = run_script(params)
File "/usr/lib/gimp/2.0/python/", line 353, in run_script
return apply(function, params)
Tried it in a directory with about 15 .jpg files in it
It crashed
Here is the info

File "/home/robin/.gimp-2.6/plug-ins/", line 466, in Contact_Sheet
TypeError: integer argument expected, got float

This is a known bug use v2.16 (or v3.31=indexprint plugin) instead you are using an old version.

I don't maintain this plugin except for bugs use indexprint v3.31 instead. By the way in a couple of days I publish the bleeding edge of indexprint v4.

Unfortunatly v2.15 has a bug for some Linux users, not for windows users. This is corrected in v2.16. This bug was found in the contactsheet smallscreen version and also this plugin has been updated to v2.11. Use smallscreen when the height of your screen is less then about 900 px

Both can only be downloaded from my website ( --> gimp).

For more possibilities use v3.xx instead (

Edit (16/12):
RGilham has now updated the registry with the latest vesrion of Contactsheet.

Unfortunatly version 2.14 has a bug for Linux users, not for windows users. This is corrected in v2.15. You can only download it from my website ( --> gimp).

For more possibilities use v3.xx instead (

Just released a new version of indexprint with several new options and improvements. If you still use V2.xx I recommend to switch to v3.xx. Contactsheet v2.xx is only in bugfix mode now. No new features will be added anymore.

# ADDED: exif date and time (pyexiv2 should be installed!!).
# ADDED: title on each page.
# ADDED: background color can be changed.
# CHANGE: pagenumber from top to bottom; you can give a start pagenumber.
# CHANGE: new Dutch translations.
# Fixed: "not reading foreign characters" now also for Linux users.
# Fixed: "not remembering last state for Linux users" now also for Linux users.
# Fixed: custom papersize is now working.

Remember that for using the exif option pyexiv2 must be installed !! For users with problems installing pyexiv2 there is a version without exif.

Latest release indexprint/contactsheet is now V3.30 with RAW and more exif support.
You will find it here:

I have updated the old contactsheet plugin to 2.14 with the following:

1. fixed reading foreign characters, they are now read without any problem.
2. fixed reading non image files with image extensions, they are now skipped. Gimp gives a warning.
3. Pagecounter now equal to filecounter (request G.Sprik)

Download v2.14 from my website: --> gimp.

If you still use the old contactsheet plugin I recommend to update to v3.xx ( The latter is also updated to V3.10

Enjoy and feel free to give feedback.


Subscribe to Comments for "Contact Sheet "