(Copypasta from my webpage)
For fun I made a little jigsaw script. Just specify how many pieces you want and optinally draw a template spline for your pieces to generate a fully random jigsaw.
If you want custom pieces, just draw a line following the constraints described in the script's help button.
Above: The custom spline is displayed to the left.
When created, add a bevel modifier to get the splines meshed.