Skip to puzzle preview

jigsawR Puzzle Generator

Create customizable jigsaw puzzles for laser cutting and more


Puzzle Preview


How to Use

1. Open the Settings panel to configure your puzzle parameters

2. Click Generate Puzzle to create your puzzle

3. Adjust Styling options - the preview updates automatically

4. Open the Download panel to save your puzzle


Settings Panel

Changes here require clicking Generate Puzzle to apply.

  • Puzzle Type: Choose Rectangular, Hexagonal, or Concentric
  • Grid/Rings: Controls piece count
  • Size/Diameter: Physical dimensions in millimeters
  • Fuse Pieces: Create meta-pieces using PILES notation (see below)
  • Layout Algorithm: Grid (regular spacing) or Repel (prevents overlap for fused pieces)

PILES Notation (Fusion Groups)

PILES (Puzzle Input Line Entry System) is a concise notation for specifying piece fusions.

Keywords are case-insensitive: all , ALL , and All are equivalent.

  • 1-2 - Fuse pieces 1 and 2
  • 1-2-3 - Fuse pieces 1, 2, and 3 in a chain
  • 1-2,3-4 - Create two fusion groups: (1,2) and (3,4)
  • 1:6 - Fuse consecutive pieces 1 through 6
  • all - Fuse ALL pieces into one meta-piece
  • R1 - Fuse entire row 1 (rectangular only)
  • C2 - Fuse entire column 2 (rectangular only)
  • ring1 - Fuse all pieces in ring 1 (hexagonal/concentric)
  • center - Center piece (hexagonal/concentric)
  • boundary - All boundary/edge pieces
  • inner - All non-boundary pieces
  • ALL-5 - Fuse all pieces except piece 5
  • !1!7 - Fuse all pieces except pieces 1 and 7

Legacy format (1,2),(3,4) is also supported.


Styling Panel

Changes in this panel update the preview automatically - no need to regenerate!

  • Tab Size: Size of interlocking tabs (15-25% recommended)
  • Jitter: Randomness in piece shapes (2-6% recommended)
  • Piece Separation: Gap between pieces (0 = complete, >0 = separated)
  • Piece Fill: None, solid, palette, gradient, or noise
  • Internal Edges: Style of edges between fused pieces (hidden/dashed/solid)
  • Stroke Color: None, solid color, or palette
  • Line Width: For laser cutting use 0.5mm
  • Opacity: Transparency of puzzle pieces
  • Labels: Show piece ID numbers
  • Background: None, solid color, gradient, or noise

Noise Fills

Create procedural textures for backgrounds and pieces using noise algorithms:

  • Perlin: Smooth, natural-looking gradients
  • Simplex: Similar to Perlin but faster and less artifacts
  • Worley: Cellular/voronoi patterns
  • Cubic: Smooth interpolated value noise
  • Value: Basic interpolated random values

Noise fills available


Download Options

  • Complete Puzzle: All pieces at original positions (offset=0, SVG)
  • Current View (SVG): Exactly what you see as vector format
  • Current View (PNG): Raster image (2000px), ideal for presentations
  • Individual Pieces: Each piece as a separate SVG file

Note: PNG requires 'rsvg' or 'magick' package. Install with: install.packages(c('rsvg', 'magick'))


Tips for Laser Cutting

  • Use separation of 3-5mm for rectangular, 5-10mm for hexagonal/concentric
  • Black color with 0.5mm line width works best
  • Consider material thickness when setting tab size
  • Test with small puzzles first