Solve mazes of varying difficulty, and learn a little about recursive programming while you're here.

About Maze

Ever since I was a kid I had a fascination with mazes. Early on I would draw them by hand using pen and paper. When I got into computer programming and learned about the power of recursion, I started writing programs to generate mazes. My first version was written in college on an IBM mainframe and printed using a dot matrix printer (yes, I know I'm dating myself). The latest version here on this website is written entirely in Javascript. But it uses a recursive algorithm similar to my earlier versions.

With this app, you can generate mazes and then try to solve them. You can control how complicated they are, and have the app solve them for you if you give up.

And if you are interested in learning more about recursive algorithms and how they can be applied to generating mazes, visit my page on Generating Mazes using Recursion.

How to use Maze

To try and solve the maze, navigate by moving the directions_walk character using either the keyboard arrow buttons, or by dragging the character using the mouse or your finger if using a touch screen. The goal is to get to the flag flag.

The following actions can be performed by clicking on their corresponding toolbar buttons or menu items:

create Generate Generate a new maze, using the current difficulty setting.
flag Solve Have the app solve the maze for you.
tune Set Difficulty Set the level of difficulty or complexity for the maze.
help About / Help View this page again.

Feedback on Maze

I value your feedback! Contact me with any issues you find, or any suggestions you may have to improve this app. Thank you in advance for your help!

Get started with Maze

To get started with Maze, click the Solve Maze button below.