Skip to main content

Maze Generator — Printable Random SVG Mazes

Random printable mazes as crisp SVG, pick the size, flip on the solution, download or copy in one click, all in your browser

  • Runs locally
  • Category Generator
  • Best for Starting from a blank page without committing to the first result.
Columns15
Rows15
Cell size (px)24px
Wall thickness (px)2px
Start (green)Exit (red)
<svg xmlns="http://www.w3.org/2000/svg" width="364" height="364" viewBox="0 0 364 364"><rect width="364" height="364" fill="#ffffff"/><g stroke="#1a2238" stroke-width="2" stroke-linecap="square"><line x1="2" y1="2" x2="2" y2="26"/><line x1="26" y1="2" x2="26" y2="26"/><line x1="26" y1="2" x2="50" y2="2"/><line x1="26" y1="2" x2="26" y2="26"/><line x1="50" y1="2" x2="74" y2="2"/><line x1="50" y1="26" x2="74" y2="26"/><line x1="74" y1="2" x2="98" y2="2"/><line x1="74" y1="26" x2="98" y2="26"/><line x1="98" y1="2" x2="122" y2="2"/><line x1="122" y1="2" x2="146" y2="2"/><line x1="122" y1="26" x2="146" y2="26"/><line x1="146" y1="2" x2="170" y2="2"/><line x1="146" y1="26" x2="170" y2="26"/><line x1="170" y1="2" x2="194" y2="2"/><line x1="170" y1="26" x2="194" y2="26"/><line x1="194" y1="2" x2="218" y2="2"/><line x1="218" y1="2" x2="242" y2="2"/><line x1="218" y1="26" x2="242" y2="26"/><line x1="242" y1="2" x2="266" y2="2"/><line x1="266" y1="2" x2="266" y2="26"/><line x1="266" y1="2" x2="290" y2="2"/><line x1="266" y1="2" x2="266" y2="26"/><line x1="290" y1="2" x2="314" y2="2"/><line x1="290" y1="26" x2="314" y2="26"/><line x1="314" y1="2" x2="338" y2="2"/><line x1="338" y1="2" x2="338" y2="26"/><line x1="338" y1="2" x2="362" y2="2"/><line x1="338" y1="2" x2="338" y2="26"/><line x1="362" y1="2" x2="362" y2="26"/><line x1="2" y1="26" x2="2" y2="50"/><line x1="26" y1="26" x2="26" y2="50"/><line x1="26" y1="26" x2="26" y2="50"/><line x1="50" y1="26" x2="50" y2="50"/><line x1="26" y1="50" x2="50" y2="50"/><line x1="50" y1="26" x2="74" y2="26"/><line x1="50" y1="26" x2="50" y2="50"/><line x1="74" y1="26" x2="98" y2="26"/><line x1="98" y1="26" x2="98" y2="50"/><line x1="98" y1="26" x2="98" y2="50"/><line x1="122" y1="26" x2="122" y2="50"/><line x1="98" y1="50" x2="122" y2="50"/><line x1="122" y1="26" x2="146" y2="26"/><line x1="122" y1="26" x2="122" y2="50"/><line x1="146" y1="26" x2="170" y2="26"/><line x1="170" y1="26" x2="170" y2="50"/><line x1="170" y1="26" x2="194" y2="26"/><line x1="170" y1="26" x2="170" y2="50"/><line x1="218" y1="26" x2="218" y2="50"/><line x1="194" y1="50" x2="218" y2="50"/><line x1="218" y1="26" x2="242" y2="26"/><line x1="218" y1="26" x2="218" y2="50"/><line x1="242" y1="26" x2="242" y2="50"/><line x1="242" y1="26" x2="242" y2="50"/><line x1="266" y1="26" x2="266" y2="50"/><line x1="266" y1="26" x2="266" y2="50"/><line x1="266" y1="50" x2="290" y2="50"/><line x1="290" y1="26" x2="314" y2="26"/><line x1="314" y1="26" x2="314" y2="50"/><line x1="314" y1="26" x2="314" y2="50"/><line x1="314" y1="50" x2="338" y2="50"/><line x1="362" y1="26" x2="362" y2="50"/><line x1="2" y1="50" x2="2" y2="74"/><line x1="26" y1="50" x2="26" y2="74"/><line x1="26" y1="50" x2="50" y2="50"/><line x1="26" y1="50" x2="26" y2="74"/><line x1="74" y1="50" x2="74" y2="74"/><line x1="50" y1="74" x2="74" y2="74"/><line x1="74" y1="50" x2="74" y2="74"/><line x1="74" y1="74" x2="98" y2="74"/><line x1="98" y1="50" x2="122" y2="50"/><line x1="98" y1="74" x2="122" y2="74"/><line x1="146" y1="50" x2="146" y2="74"/><line x1="122" y1="74" x2="146" y2="74"/><line x1="146" y1="50" x2="146" y2="74"/><line x1="146" y1="74" x2="170" y2="74"/><line x1="194" y1="50" x2="194" y2="74"/><line x1="170" y1="74" x2="194" y2="74"/><line x1="194" y1="50" x2="218" y2="50"/><line x1="194" y1="50" x2="194" y2="74"/><line x1="194" y1="74" x2="218" y2="74"/><line x1="242" y1="50" x2="242" y2="74"/><line x1="242" y1="50" x2="242" y2="74"/><line x1="242" y1="74" x2="266" y2="74"/><line x1="266" y1="50" x2="290" y2="50"/><line x1="290" y1="50" x2="290" y2="74"/><line x1="290" y1="50" x2="290" y2="74"/><line x1="314" y1="50" x2="314" y2="74"/><line x1="314" y1="50" x2="338" y2="50"/><line x1="314" y1="50" x2="314" y2="74"/><line x1="338" y1="50" x2="338" y2="74"/><line x1="338" y1="50" x2="338" y2="74"/><line x1="362" y1="50" x2="362" y2="74"/><line x1="2" y1="74" x2="2" y2="98"/><line x1="26" y1="74" x2="26" y2="98"/><line x1="26" y1="74" x2="26" y2="98"/><line x1="50" y1="74" x2="50" y2="98"/><line x1="50" y1="74" x2="74" y2="74"/><line x1="50" y1="74" x2="50" y2="98"/><line x1="50" y1="98" x2="74" y2="98"/><line x1="74" y1="74" x2="98" y2="74"/><line x1="74" y1="98" x2="98" y2="98"/><line x1="98" y1="74" x2="122" y2="74"/><line x1="98" y1="98" x2="122" y2="98"/><line x1="122" y1="74" x2="146" y2="74"/><line x1="122" y1="98" x2="146" y2="98"/><line x1="146" y1="74" x2="170" y2="74"/><line x1="170" y1="74" x2="170" y2="98"/><line x1="170" y1="74" x2="194" y2="74"/><line x1="170" y1="74" x2="170" y2="98"/><line x1="194" y1="74" x2="218" y2="74"/><line x1="218" y1="98" x2="242" y2="98"/><line x1="242" y1="74" x2="266" y2="74"/><line x1="266" y1="74" x2="266" y2="98"/><line x1="242" y1="98" x2="266" y2="98"/><line x1="266" y1="74" x2="266" y2="98"/><line x1="266" y1="98" x2="290" y2="98"/><line x1="314" y1="74" x2="314" y2="98"/><line x1="290" y1="98" x2="314" y2="98"/><line x1="314" y1="74" x2="314" y2="98"/><line x1="338" y1="74" x2="338" y2="98"/><line x1="338" y1="74" x2="338" y2="98"/><line x1="362" y1="74" x2="362" y2="98"/><line x1="2" y1="98" x2="2" y2="122"/><line x1="2" y1="122" x2="26" y2="122"/><line x1="50" y1="98" x2="50" y2="122"/><line x1="26" y1="122" x2="50" y2="122"/><line x1="50" y1="98" x2="74" y2="98"/><line x1="50" y1="98" x2="50" y2="122"/><line x1="74" y1="98" x2="98" y2="98"/><line x1="74" y1="122" x2="98" y2="122"/><line x1="98" y1="98" x2="122" y2="98"/><line x1="122" y1="98" x2="122" y2="122"/><line x1="122" y1="98" x2="146" y2="98"/><line x1="122" y1="98" x2="122" y2="122"/><line x1="170" y1="98" x2="170" y2="122"/><line x1="170" y1="98" x2="170" y2="122"/><line x1="194" y1="98" x2="194" y2="122"/><line x1="194" y1="98" x2="194" y2="122"/><line x1="194" y1="122" x2="218" y2="122"/><line x1="218" y1="98" x2="242" y2="98"/><line x1="218" y1="122" x2="242" y2="122"/><line x1="242" y1="98" x2="266" y2="98"/><line x1="266" y1="98" x2="266" y2="122"/><line x1="266" y1="98" x2="290" y2="98"/><line x1="266" y1="98" x2="266" y2="122"/><line x1="290" y1="98" x2="314" y2="98"/><line x1="314" y1="98" x2="314" y2="122"/><line x1="314" y1="98" x2="314" y2="122"/><line x1="362" y1="98" x2="362" y2="122"/><line x1="338" y1="122" x2="362" y2="122"/><line x1="2" y1="122" x2="26" y2="122"/><line x1="2" y1="122" x2="2" y2="146"/><line x1="26" y1="122" x2="26" y2="146"/><line x1="26" y1="122" x2="50" y2="122"/><line x1="26" y1="122" x2="26" y2="146"/><line x1="50" y1="146" x2="74" y2="146"/><line x1="74" y1="122" x2="98" y2="122"/><line x1="98" y1="122" x2="98" y2="146"/><line x1="98" y1="122" x2="98" y2="146"/><line x1="98" y1="146" x2="122" y2="146"/><line x1="146" y1="122" x2="146" y2="146"/><line x1="122" y1="146" x2="146" y2="146"/><line x1="146" y1="122" x2="146" y2="146"/><line x1="170" y1="122" x2="170" y2="146"/><line x1="170" y1="122" x2="170" y2="146"/><line x1="194" y1="122" x2="194" y2="146"/><line x1="194" y1="122" x2="218" y2="122"/><line x1="194" y1="122" x2="194" y2="146"/><line x1="218" y1="122" x2="242" y2="122"/><line x1="242" y1="122" x2="242" y2="146"/><line x1="218" y1="146" x2="242" y2="146"/><line x1="242" y1="122" x2="242" y2="146"/><line x1="242" y1="146" x2="266" y2="146"/><line x1="290" y1="122" x2="290" y2="146"/><line x1="266" y1="146" x2="290" y2="146"/><line x1="290" y1="122" x2="290" y2="146"/><line x1="314" y1="122" x2="314" y2="146"/><line x1="314" y1="122" x2="314" y2="146"/><line x1="338" y1="122" x2="338" y2="146"/><line x1="338" y1="122" x2="362" y2="122"/><line x1="338" y1="122" x2="338" y2="146"/><line x1="362" y1="122" x2="362" y2="146"/><line x1="2" y1="146" x2="2" y2="170"/><line x1="2" y1="170" x2="26" y2="170"/><line x1="50" y1="146" x2="50" y2="170"/><line x1="26" y1="170" x2="50" y2="170"/><line x1="50" y1="146" x2="74" y2="146"/><line x1="50" y1="146" x2="50" y2="170"/><line x1="98" y1="146" x2="98" y2="170"/><line x1="74" y1="170" x2="98" y2="170"/><line x1="98" y1="146" x2="122" y2="146"/><line x1="98" y1="146" x2="98" y2="170"/><line x1="122" y1="146" x2="122" y2="170"/><line x1="122" y1="146" x2="146" y2="146"/><line x1="122" y1="146" x2="122" y2="170"/><line x1="170" y1="146" x2="170" y2="170"/><line x1="146" y1="170" x2="170" y2="170"/><line x1="170" y1="146" x2="170" y2="170"/><line x1="194" y1="146" x2="194" y2="170"/><line x1="194" y1="146" x2="194" y2="170"/><line x1="218" y1="146" x2="218" y2="170"/><line x1="218" y1="146" x2="242" y2="146"/><line x1="218" y1="146" x2="218" y2="170"/><line x1="242" y1="146" x2="266" y2="146"/><line x1="266" y1="146" x2="290" y2="146"/><line x1="290" y1="146" x2="290" y2="170"/><line x1="290" y1="146" x2="290" y2="170"/><line x1="290" y1="170" x2="314" y2="170"/><line x1="338" y1="146" x2="338" y2="170"/><line x1="314" y1="170" x2="338" y2="170"/><line x1="338" y1="146" x2="338" y2="170"/><line x1="362" y1="146" x2="362" y2="170"/><line x1="2" y1="170" x2="26" y2="170"/><line x1="2" y1="170" x2="2" y2="194"/><line x1="26" y1="170" x2="50" y2="170"/><line x1="26" y1="194" x2="50" y2="194"/><line x1="74" y1="170" x2="74" y2="194"/><line x1="50" y1="194" x2="74" y2="194"/><line x1="74" y1="170" x2="98" y2="170"/><line x1="74" y1="170" x2="74" y2="194"/><line x1="122" y1="170" x2="122" y2="194"/><line x1="98" y1="194" x2="122" y2="194"/><line x1="122" y1="170" x2="122" y2="194"/><line x1="122" y1="194" x2="146" y2="194"/><line x1="146" y1="170" x2="170" y2="170"/><line x1="170" y1="170" x2="170" y2="194"/><line x1="170" y1="170" x2="170" y2="194"/><line x1="194" y1="170" x2="194" y2="194"/><line x1="194" y1="170" x2="194" y2="194"/><line x1="194" y1="194" x2="218" y2="194"/><line x1="242" y1="170" x2="242" y2="194"/><line x1="218" y1="194" x2="242" y2="194"/><line x1="242" y1="170" x2="242" y2="194"/><line x1="266" y1="170" x2="266" y2="194"/><line x1="266" y1="170" x2="266" y2="194"/><line x1="290" y1="170" x2="290" y2="194"/><line x1="290" y1="170" x2="314" y2="170"/><line x1="290" y1="170" x2="290" y2="194"/><line x1="290" y1="194" x2="314" y2="194"/><line x1="314" y1="170" x2="338" y2="170"/><line x1="362" y1="170" x2="362" y2="194"/><line x1="2" y1="194" x2="2" y2="218"/><line x1="26" y1="194" x2="50" y2="194"/><line x1="50" y1="194" x2="50" y2="218"/><line x1="50" y1="194" x2="74" y2="194"/><line x1="50" y1="194" x2="50" y2="218"/><line x1="74" y1="194" x2="74" y2="218"/><line x1="74" y1="194" x2="74" y2="218"/><line x1="98" y1="194" x2="122" y2="194"/><line x1="98" y1="218" x2="122" y2="218"/><line x1="122" y1="194" x2="146" y2="194"/><line x1="122" y1="218" x2="146" y2="218"/><line x1="170" y1="194" x2="170" y2="218"/><line x1="146" y1="218" x2="170" y2="218"/><line x1="170" y1="194" x2="170" y2="218"/><line x1="170" y1="218" x2="194" y2="218"/><line x1="194" y1="194" x2="218" y2="194"/><line x1="218" y1="194" x2="218" y2="218"/><line x1="218" y1="194" x2="242" y2="194"/><line x1="218" y1="194" x2="218" y2="218"/><line x1="266" y1="194" x2="266" y2="218"/><line x1="242" y1="218" x2="266" y2="218"/><line x1="266" y1="194" x2="266" y2="218"/><line x1="266" y1="218" x2="290" y2="218"/><line x1="290" y1="194" x2="314" y2="194"/><line x1="314" y1="194" x2="314" y2="218"/><line x1="314" y1="194" x2="314" y2="218"/><line x1="338" y1="194" x2="338" y2="218"/><line x1="338" y1="194" x2="338" y2="218"/><line x1="362" y1="194" x2="362" y2="218"/><line x1="338" y1="218" x2="362" y2="218"/><line x1="2" y1="218" x2="2" y2="242"/><line x1="26" y1="218" x2="26" y2="242"/><line x1="26" y1="218" x2="26" y2="242"/><line x1="50" y1="218" x2="50" y2="242"/><line x1="50" y1="218" x2="50" y2="242"/><line x1="50" y1="242" x2="74" y2="242"/><line x1="74" y1="242" x2="98" y2="242"/><line x1="98" y1="218" x2="122" y2="218"/><line x1="98" y1="242" x2="122" y2="242"/><line x1="122" y1="218" x2="146" y2="218"/><line x1="122" y1="242" x2="146" y2="242"/><line x1="146" y1="218" x2="170" y2="218"/><line x1="170" y1="218" x2="170" y2="242"/><line x1="170" y1="218" x2="194" y2="218"/><line x1="170" y1="218" x2="170" y2="242"/><line x1="218" y1="218" x2="218" y2="242"/><line x1="194" y1="242" x2="218" y2="242"/><line x1="218" y1="218" x2="218" y2="242"/><line x1="242" y1="218" x2="266" y2="218"/><line x1="266" y1="218" x2="266" y2="242"/><line x1="266" y1="218" x2="290" y2="218"/><line x1="266" y1="218" x2="266" y2="242"/><line x1="314" y1="218" x2="314" y2="242"/><line x1="290" y1="242" x2="314" y2="242"/><line x1="314" y1="218" x2="314" y2="242"/><line x1="314" y1="242" x2="338" y2="242"/><line x1="338" y1="218" x2="362" y2="218"/><line x1="362" y1="218" x2="362" y2="242"/><line x1="2" y1="242" x2="2" y2="266"/><line x1="26" y1="242" x2="26" y2="266"/><line x1="26" y1="242" x2="26" y2="266"/><line x1="50" y1="242" x2="50" y2="266"/><line x1="50" y1="242" x2="74" y2="242"/><line x1="50" y1="242" x2="50" y2="266"/><line x1="74" y1="242" x2="98" y2="242"/><line x1="74" y1="266" x2="98" y2="266"/><line x1="98" y1="242" x2="122" y2="242"/><line x1="98" y1="266" x2="122" y2="266"/><line x1="122" y1="242" x2="146" y2="242"/><line x1="146" y1="242" x2="146" y2="266"/><line x1="146" y1="242" x2="146" y2="266"/><line x1="170" y1="242" x2="170" y2="266"/><line x1="146" y1="266" x2="170" y2="266"/><line x1="170" y1="242" x2="170" y2="266"/><line x1="194" y1="242" x2="194" y2="266"/><line x1="194" y1="242" x2="218" y2="242"/><line x1="194" y1="242" x2="194" y2="266"/><line x1="218" y1="242" x2="218" y2="266"/><line x1="218" y1="242" x2="218" y2="266"/><line x1="242" y1="242" x2="242" y2="266"/><line x1="242" y1="242" x2="242" y2="266"/><line x1="266" y1="242" x2="266" y2="266"/><line x1="266" y1="242" x2="266" y2="266"/><line x1="266" y1="266" x2="290" y2="266"/><line x1="290" y1="242" x2="314" y2="242"/><line x1="290" y1="266" x2="314" y2="266"/><line x1="314" y1="242" x2="338" y2="242"/><line x1="314" y1="266" x2="338" y2="266"/><line x1="362" y1="242" x2="362" y2="266"/><line x1="2" y1="266" x2="2" y2="290"/><line x1="26" y1="266" x2="26" y2="290"/><line x1="26" y1="266" x2="26" y2="290"/><line x1="50" y1="266" x2="50" y2="290"/><line x1="50" y1="266" x2="50" y2="290"/><line x1="50" y1="290" x2="74" y2="290"/><line x1="74" y1="266" x2="98" y2="266"/><line x1="98" y1="266" x2="98" y2="290"/><line x1="98" y1="266" x2="122" y2="266"/><line x1="98" y1="266" x2="98" y2="290"/><line x1="122" y1="266" x2="122" y2="290"/><line x1="122" y1="266" x2="122" y2="290"/><line x1="122" y1="290" x2="146" y2="290"/><line x1="146" y1="266" x2="170" y2="266"/><line x1="170" y1="266" x2="170" y2="290"/><line x1="170" y1="266" x2="170" y2="290"/><line x1="194" y1="266" x2="194" y2="290"/><line x1="194" y1="266" x2="194" y2="290"/><line x1="242" y1="266" x2="242" y2="290"/><line x1="218" y1="290" x2="242" y2="290"/><line x1="242" y1="266" x2="242" y2="290"/><line x1="242" y1="290" x2="266" y2="290"/><line x1="266" y1="266" x2="290" y2="266"/><line x1="290" y1="266" x2="290" y2="290"/><line x1="290" y1="266" x2="314" y2="266"/><line x1="290" y1="266" x2="290" y2="290"/><line x1="314" y1="266" x2="338" y2="266"/><line x1="338" y1="266" x2="338" y2="290"/><line x1="338" y1="266" x2="338" y2="290"/><line x1="362" y1="266" x2="362" y2="290"/><line x1="2" y1="290" x2="2" y2="314"/><line x1="26" y1="290" x2="26" y2="314"/><line x1="26" y1="290" x2="26" y2="314"/><line x1="26" y1="314" x2="50" y2="314"/><line x1="50" y1="290" x2="74" y2="290"/><line x1="50" y1="314" x2="74" y2="314"/><line x1="74" y1="314" x2="98" y2="314"/><line x1="122" y1="290" x2="122" y2="314"/><line x1="98" y1="314" x2="122" y2="314"/><line x1="122" y1="290" x2="146" y2="290"/><line x1="122" y1="290" x2="122" y2="314"/><line x1="170" y1="290" x2="170" y2="314"/><line x1="170" y1="290" x2="170" y2="314"/><line x1="194" y1="290" x2="194" y2="314"/><line x1="194" y1="290" x2="194" y2="314"/><line x1="218" y1="290" x2="218" y2="314"/><line x1="194" y1="314" x2="218" y2="314"/><line x1="218" y1="290" x2="242" y2="290"/><line x1="218" y1="290" x2="218" y2="314"/><line x1="242" y1="290" x2="266" y2="290"/><line x1="242" y1="314" x2="266" y2="314"/><line x1="290" y1="290" x2="290" y2="314"/><line x1="266" y1="314" x2="290" y2="314"/><line x1="290" y1="290" x2="290" y2="314"/><line x1="314" y1="290" x2="314" y2="314"/><line x1="314" y1="290" x2="314" y2="314"/><line x1="338" y1="290" x2="338" y2="314"/><line x1="338" y1="290" x2="338" y2="314"/><line x1="362" y1="290" x2="362" y2="314"/><line x1="2" y1="314" x2="2" y2="338"/><line x1="2" y1="338" x2="26" y2="338"/><line x1="26" y1="314" x2="50" y2="314"/><line x1="50" y1="314" x2="50" y2="338"/><line x1="50" y1="314" x2="74" y2="314"/><line x1="50" y1="314" x2="50" y2="338"/><line x1="74" y1="314" x2="74" y2="338"/><line x1="74" y1="314" x2="98" y2="314"/><line x1="74" y1="314" x2="74" y2="338"/><line x1="98" y1="314" x2="122" y2="314"/><line x1="98" y1="338" x2="122" y2="338"/><line x1="146" y1="314" x2="146" y2="338"/><line x1="122" y1="338" x2="146" y2="338"/><line x1="146" y1="314" x2="146" y2="338"/><line x1="170" y1="314" x2="170" y2="338"/><line x1="146" y1="338" x2="170" y2="338"/><line x1="170" y1="314" x2="170" y2="338"/><line x1="170" y1="338" x2="194" y2="338"/><line x1="194" y1="314" x2="218" y2="314"/><line x1="194" y1="338" x2="218" y2="338"/><line x1="242" y1="314" x2="242" y2="338"/><line x1="218" y1="338" x2="242" y2="338"/><line x1="242" y1="314" x2="266" y2="314"/><line x1="242" y1="314" x2="242" y2="338"/><line x1="266" y1="314" x2="290" y2="314"/><line x1="290" y1="314" x2="290" y2="338"/><line x1="290" y1="314" x2="290" y2="338"/><line x1="314" y1="314" x2="314" y2="338"/><line x1="314" y1="314" x2="314" y2="338"/><line x1="314" y1="338" x2="338" y2="338"/><line x1="362" y1="314" x2="362" y2="338"/><line x1="338" y1="338" x2="362" y2="338"/><line x1="2" y1="338" x2="26" y2="338"/><line x1="2" y1="338" x2="2" y2="362"/><line x1="2" y1="362" x2="26" y2="362"/><line x1="26" y1="362" x2="50" y2="362"/><line x1="50" y1="362" x2="74" y2="362"/><line x1="74" y1="338" x2="74" y2="362"/><line x1="74" y1="338" x2="74" y2="362"/><line x1="74" y1="362" x2="98" y2="362"/><line x1="98" y1="338" x2="122" y2="338"/><line x1="98" y1="362" x2="122" y2="362"/><line x1="122" y1="338" x2="146" y2="338"/><line x1="122" y1="362" x2="146" y2="362"/><line x1="146" y1="338" x2="170" y2="338"/><line x1="146" y1="362" x2="170" y2="362"/><line x1="170" y1="338" x2="194" y2="338"/><line x1="170" y1="362" x2="194" y2="362"/><line x1="194" y1="338" x2="218" y2="338"/><line x1="194" y1="362" x2="218" y2="362"/><line x1="218" y1="338" x2="242" y2="338"/><line x1="218" y1="362" x2="242" y2="362"/><line x1="242" y1="362" x2="266" y2="362"/><line x1="266" y1="338" x2="266" y2="362"/><line x1="266" y1="338" x2="266" y2="362"/><line x1="266" y1="362" x2="290" y2="362"/><line x1="290" y1="362" x2="314" y2="362"/><line x1="314" y1="338" x2="338" y2="338"/><line x1="314" y1="362" x2="338" y2="362"/><line x1="338" y1="338" x2="362" y2="338"/><line x1="362" y1="338" x2="362" y2="362"/></g><circle cx="14" cy="14" r="4.32" fill="#22c55e"/><circle cx="350" cy="350" r="4.32" fill="#ef4444"/></svg>

What this tool does

A free maze generator that builds a fresh random maze every time and hands you a clean, printable SVG. Pick how many columns and rows you want from a tiny 5x5 up to a tough 40x40, set the cell size and wall thickness, choose the wall color, and the maze redraws live as you change anything. Every maze is a perfect maze: the recursive backtracker algorithm carves it as a spanning tree, so there is exactly one path between any two cells and no isolated rooms or loops. The entrance sits at the top left in green, the exit at the bottom right in red. Stuck or grading a worksheet? Turn on Show solution and a single colored line traces the one correct route from start to finish, found by a breadth-first search. Because the output is vector SVG, it stays razor sharp at any zoom and prints true on A4, Letter or a full poster. Copy the SVG markup to the clipboard or download the file. Everything runs in your browser with crypto-grade randomness, nothing is uploaded, and the share link reopens the same dimensions and look.

Tool details

Input
Files + Numbers
The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
Output
Live result + Copy + Download
The result area focuses on usable output, with copy, download, or preview actions when supported.
Privacy
Browser-side processing
The main tool logic does not call an external API, so inputs normally stay in the current tab.
Save / share
Shareable URL state
Key settings are encoded in the URL so another person can reopen the same setup.
Performance budget
Initial JS <= 12 KB
No WASM budget is declared, keeping the tool quick to open on mobile.
Best fit
Generator · Teacher
Category and role tags drive related tools, internal links, and quick fit checks.

How to use

  1. 1. Input

    Paste or drop your content into the tool panel.

  2. 2. Process

    Click the button. All processing is local in your browser.

  3. 3. Copy / Download

    Copy the result or download to disk in one click.

How Maze Generator fits into your work

Use it to get a strong first draft, starter asset, or structured output that you can edit before publishing.

Generation jobs

  • Starting from a blank page without committing to the first result.
  • Creating repeatable drafts, names, templates, or placeholder assets.
  • Exploring options before choosing the one that fits the job.

Generation checks

  • Review generated output before it reaches a customer, page, or document.
  • Change defaults when you need a specific brand voice, format, or audience.
  • Keep only the parts that match the real task.

Good next steps

These links move the current task into a more complete workflow.

  1. 1 Graph Paper Generator Printable square, dot, isometric, ruled and coordinate paper as crisp SVG sized in real millimetres, runs entirely in your browser Open
  2. 2 Bingo Card Generator Classic 75-ball B-I-N-G-O, UK 90-ball tickets, or your own words — print up to 30 unique cards, crypto-random, browser-only Open
  3. 3 Sudoku Generator Sudoku generator and solver — 4 difficulties (easy / medium / hard / expert), unique-solution guaranteed, play in the browser or print as PDF. Open

Real-world use cases

  • Print a stack of mazes for a classroom

    A teacher needs a quiet activity for thirty kids. Set the grid to 15 by 15, keep the walls black, turn off the solution, and download the SVG. Print thirty copies and you have a worksheet that scales cleanly to A4. Then carve a few more at 20 by 20 for the fast finishers, and print one copy of each with Show solution on so you can check answers at a glance.

  • Make a puzzle page for a kids activity book or newsletter

    A content creator building a printable activity pack drops in a 12 by 12 maze for younger readers and a 25 by 25 for the challenge page. The vector SVG sits crisp next to the rest of the layout at any size, and a matching answer key page is one checkbox away. Recolor the walls to match the booklet's palette without leaving the tool.

  • Generate a unique maze for every game or escape room handout

    Running a party game or escape room? Press New maze between each print and every player gets a different layout, so nobody copies a neighbour. Crank the size to 35 by 35 for an adults-only brain-burner, or keep it at 10 by 10 for a timed warm-up round. Each maze is freshly carved with crypto randomness, so they genuinely differ.

  • Build a maze asset for a craft, card or screen-printed project

    A designer wants a maze graphic on a tote bag, a birthday card or a coloring page. Pick the proportions, thicken the walls so they survive printing, set the color, and export the SVG straight into Illustrator or Inkscape as editable vectors. No raster upscaling, no blur, just clean paths ready for the press.

Common pitfalls

  • Printing with the solution still showing. The Show solution line is meant for an answer key, not the puzzle. Before downloading the version players will solve, untick Show solution. Print the solved version separately and label it as the answer sheet.

  • Setting the walls too thin for print. A 0.5px wall looks fine on screen but can disappear or break up on paper, especially at small cell sizes. For anything you will print, bump the wall thickness to 2px or more so the corridors stay legible.

  • Expecting the share link to reproduce the exact same maze. The link saves your size and style settings but carves a new random maze on open. If a specific maze matters, download the SVG file rather than sharing the URL, because only the file pins that one layout.

Privacy

Every step runs as plain JavaScript inside your browser tab: the maze carving, the solution search, and the SVG rendering all happen on your device. No maze, image or setting is ever uploaded, and there is no logging of what you generate. The randomness comes from the browser's Web Crypto API, so the mazes are genuinely unpredictable, not seeded on a server. The one thing that travels is the share link, which encodes your size and style options in the URL; it never contains a maze, so pasting it anywhere only reveals the dimensions you chose.

FAQ

Tool combos

Folks in your role tend to reach for these alongside this tool.

Made by Toolora · 100% client-side · Updated 2026-05-29