Maze generator, editor & solver in Java
Switch branches/tags
Nothing to show
Clone or download
ChrisDaris UI improvements and fixes
- various visual fixes and improvements
- better handling of exceptions
- solving large mazes now displays properly
- improved performance when displaying larger mazes
- maximum maze size increased
- added a status panel
- added the option to keep the old maze when creating a new one and
place it on top of the new
- fixed some variables not being private
Latest commit 0bb6035 Dec 4, 2015
Type Name Latest commit message Commit time
Failed to load latest commit information.
NoGUI Fixed a bug Jun 23, 2015
WithGUI UI improvements and fixes Dec 4, 2015
.gitattributes :octocat: Added .gitattributes Apr 22, 2015
.gitignore UI improvements May 6, 2015
LICENSE Create LICENSE Apr 22, 2015
Laby.jar UI improvements and fixes Dec 4, 2015 Update Apr 30, 2015


alt tag

Laby is a maze editor, generator & solver written in Java. It can solve mazes with the following search algorithms: DFS, BFS, ID, Best-First, Hill Climbing and A*. Also, using a variation of DFS algorithm, it can generate two types of mazes, randomized and classic. The generated mazes can be easily edited and saved as plain text files.


  • generates 2 types of mazes
  • dynamic maze editor
  • 6 algorithms for maze solving
  • 2 heuristic functions
  • step by step execution
  • execution step delay
  • option for choosing cells randomly
  • option to draw arrows from predecessors


There are two versions available; the full version with GUI, and one without GUI implemented so that you can use it for your own applications. There is also one compiled jar. You need JRE 8 or later to run the jar and JDK 8 or later to build the project.

About editing: Left click to add obstacles and right click to remove them from the maze. You can drag and drop the start and goal cells to any position. You can save your maze as a plain text file from the File menu.


  • Algorithms implementation: Chris Samarinas
  • UI design: Chris Darisaplis

Aristotle University of Thessaloniki, Department of Informatics