Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

- 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

Git stats


Failed to load latest commit information.
Latest commit message
Commit time


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