This is a procedural jigsaw puzzle generator that runs in the browser. It has several configurable strategies that control the generation process allowing for a variety of puzzle styles. It can produce an SVG file suitable for use with a laser cutter or CNC machine for making physical puzzles.
Use the tool here.
- A tool to generate interesting and pleasing jigsaw puzzle designs without having to draw them by hand.
- Clean, well-documented, and extensible codebase allowing others to add/modify/extend various algorithms for puzzle creation.
- Output compatible with laser cutters or CNC machines (SVG)
Contributions are welcome! The project is built with Typescript and Vite and uses Mithril and Web Awesome to create a responsive user interface. The puzzle generation process is broken into three stages (seed points, piece generation, tab generation), each of which can be extended with custom algorithms. To add a new point, piece or tab shape, see the generator documentation.
Building the project requires Node 20 or later and pnpm.
# clone the repository
git clone https://github.com/weevilgenius/puzzle-generator.git
cd puzzle-generator
# install dependencies
pnpm install
# run app in development mode
pnpm run dev
This project was inspired by discussions in various puzzle forums as well as online puzzle generators including those from proceduraljigsaw on GitHub.