A program that makes mazes and can save them as png images
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Maze Generator



This can now also be found online!


A program that makes playable mazes and can save them as png images

    1. Download program files or jar
    1. for jar, execute (double click, or java -jar Maze.jar)
    1. for program files, compile (javac Maze.java)
    1. run using the html or execute from command prompt (java Maze)

Note: If you want to change the blocksize of the maze, include that in the parameters, eg: (java Maze 20) (Default is 10 pixels)


  • Create new Maze: Shift-Click on Maze (time outputs how long it took to make)
  • Animated Creation: Click on A-n and then Shift-Click on Maze (will freeze for a while, and then will either run into a stack overflow error or will start showing the animation) (test on larger wall sizes first)
  • Solve Maze (by clicking): Click or drag on the maze to create a single blue line connect the yellow square and the red square. There must be only one path
  • Solve Maze (by moving): Hit Space (the timer should go off) and then move the yellow square with the arrow keys, trying to get to the red square
  • See Solution: Ctrl-Click on the Maze to highlight the solution for the maze
  • Play Againt The AI: Click on AI and then hit space to start the game. Move the yellow square to the red square using the arrow key. Note: The AI uses the solution
  • Increase / Decrease Blocksize: Hit '-' or '+' and then generate a new maze to see the change
  • Hide/Reveal Top Menu: Hit 'z' to remove/bring back the top menu so you can only see the maze
  • Save Maze as PNG: (including the solution if it is visible) press 'p' or 'P'

Special Mazes

-- To see the effects of each one of these you must generate a new maze manually

  • Normal Maze: 'n' or 'N'
  • CheckerBoard: 'c' or 'C'
  • Vertical: 'v' or 'V'
  • Horizontal: 'h' or 'H'
  • Inward-X: 'x' or 'X'
  • Squares: 's' or 'S'
  • Awkward Circle: 'a' or 'A' (Original Creation)