Generate square, circular, triangular and heart-shaped mazes with seven algorithms (backtracker, Prim, Kruskal, Wilson, hunt-and-kill, growing tree, Aldous-Broder), solve them with the keyboard or a finger, and export them as SVG or PNG.
See the codeMake a maze right in your browser: square, round, triangular, hexagonal, star or heart-shaped, with long winding corridors or a thicket of short dead ends. Then find your way through it with the arrow keys or a finger, or watch the solution draw itself, and save it as an SVG or a PNG, or print it. No sign-up and no libraries.

A maze is a puzzle: it has branches and dead ends, and a way through. (A labyrinth has a single path and no choices; for those, see Labyrinth-Maker.)
Start with every wall standing, and knock walls down until every cell can be reached, but never so many that a loop appears: in graph terms, a spanning tree of the grid. The result is a perfect maze, with exactly one path between any two cells. The algorithms differ in the order they pick walls:
The solution is found with a breadth-first search, which also gives each cell's distance from the entrance.
The pages are plain HTML, CSS and JavaScript, with no dependencies and no build step. Just open index.html. It is also a small installable web app: add it to your home screen or desktop and it works offline.
Maze-Maker is open source at GitHub with MIT license.
Had fun browsing the app? Buy me a coffee by becoming a sponsor.
You may also be interested in my other projects Labyrinth-Maker (demo), Mandala-Maker (demo), Harmonograph-Maker (demo) and Sacred-Geometry (demo). For more mystic arts as small web apps, see Esoterica.
Copyright (c) 2026 Olivier Giulieri.
4 commits
JavaScript
52.3%
HTML
25.6%
CSS
22.1%
Generate square, circular, triangular and heart-shaped mazes with seven algorithms (backtracker, Prim, Kruskal, Wilson, hunt-and-kill, growing tree, Aldous-Broder), solve them with the keyboard or a finger, and export them as SVG or PNG.
See the codeMake a maze right in your browser: square, round, triangular, hexagonal, star or heart-shaped, with long winding corridors or a thicket of short dead ends. Then find your way through it with the arrow keys or a finger, or watch the solution draw itself, and save it as an SVG or a PNG, or print it. No sign-up and no libraries.

A maze is a puzzle: it has branches and dead ends, and a way through. (A labyrinth has a single path and no choices; for those, see Labyrinth-Maker.)
Start with every wall standing, and knock walls down until every cell can be reached, but never so many that a loop appears: in graph terms, a spanning tree of the grid. The result is a perfect maze, with exactly one path between any two cells. The algorithms differ in the order they pick walls:
The solution is found with a breadth-first search, which also gives each cell's distance from the entrance.
The pages are plain HTML, CSS and JavaScript, with no dependencies and no build step. Just open index.html. It is also a small installable web app: add it to your home screen or desktop and it works offline.
Maze-Maker is open source at GitHub with MIT license.
Had fun browsing the app? Buy me a coffee by becoming a sponsor.
You may also be interested in my other projects Labyrinth-Maker (demo), Mandala-Maker (demo), Harmonograph-Maker (demo) and Sacred-Geometry (demo). For more mystic arts as small web apps, see Esoterica.
Copyright (c) 2026 Olivier Giulieri.
4 commits
JavaScript
52.3%
HTML
25.6%
CSS
22.1%