Transform a photo in a Jigsaw Puzzle board

AddThis Social Bookmark Button

A photo is divided in pieces, just like a Jigsaw Puzzle. The large part is made with GIMP but a little portion at the beginning is made with Inkscape. Of course you can use just only GIMP, but I am a huge Inkscape fan and found more convenient to use it there. In fact, this is how a lot of work is done on complex projects: as a combination of raster and vector graphics.

This is a long and boring tutorial with repetitive tasks, but they are easy and could be reused in various other occasions, so is useful to master them. Probably it would be a good idea to automate it as a script.

I used a 12 pieces (4x3) table as this is the minimum acceptable to obtain something looking like a jigsaw and to reduce the boring repetitive operation as much as possible.

This is what we will do here:
jigsaw puzzle

Assembling a Jigsaw Puzzle table

This is done in Inkscape. I made extented use of clipart from the jigsaw section of my clipart collection, they are freely usable, being released as Public Domain. The same images could be found at the Open Clip Art Library.

We are done with the Inkscape part, save the SVG or export as PNG at the same size as the target photo and close Inkscape.

Transform the photo in a jigsaw

It may not be visible, but we have now the jigsaw puzzle almost ready, the rest is only polishing.


You can do all this slect stuff by an alternate route: import the SVG shapes as paths, transform the path to selection, cut and copy in a new layer. I used the select by color way as I think is easier for newbies.

Simulate a 3D effect

For a fake 3D look a Bump Map filter will be used.

We are done, or almost done, is never too late to add more polish.

Scatter, shuffle and increase the 3D look

All the following steps are optional use only what you want.

The final result

Should look like:
[click to enlarge]


An alternate result, with white backgroud and a couple of pieces missing:
[click to enlarge]


You can leave comments, complaints, suggestions, praises on my blog.

Update: a Romanian translation is also available.
 This tutorial is free, but if you find it entertaining, pretty please (this is not a requirement, only my humble wish) send an email to dioanad at server with thanks for motivating me to publish it and expressing your unhappiness to the same person for destroying my motivation to publish more.
Be nice, polite and do not do nasty things with the address above. Thank you.
Many thanks to my friends at, and Inovatika for motivating me to write this.