Advanced Maze Generation Tool for Creative and Technical Applications

Language Python
License GPL-3.0
The Erbsland Maze Generator is an open-source tool, crafted to lay the groundwork for sophisticated, rectangular maze creation. It generates clean and optimized SVG files, primed for further enhancement in graphic design or be used in 3D modeling projects. While the tool already produces good looking results, it provides a versatile starting point, enabling designers, modelers, and enthusiasts to refine and integrate these designs into more complex creations. With its advanced customization options, users can fine-tune endpoint configurations, crafting mazes with interconnected pathways or intriguing dead-ends to suit a broad spectrum of design philosophies and project requirements.


Embark on your maze creation journey with the Erbsland Maze in just a few simple steps. Begin by cloning the repository or downloading the project files from GitHub. Follow the straightforward instructions to set up a virtual Python environment, launching you into generating your first custom maze with ease.

Whether you prefer to craft mazes via the command line tool or integrate the project into your existing workflow as a library, Erbsland Maze accommodates both. Dive into our comprehensive documentation for a full rundown of command line options, enriched with ample examples, and explore how to leverage the API for your unique projects.


The Erbsland Maze Generator is packed with features designed to cater to both creative and technical needs, enabling the creation of mazes that are as complex or as straightforward as desired:

  • Versatile and Customizable: Designed to be modular and flexible, the Erbsland Maze Generator allows for the creation of anything from simple puzzles to intricate labyrinths, ensuring your maze perfectly aligns with project specifications.
  • Dual Interface: Offers the convenience of maze generation through a user-friendly command line tool or via integration as a Python library in your projects, providing versatility in how you create.
  • Tailored Endpoints: Features the ability to customize endpoints extensively, enabling you to dictate whether they should be interconnected or act as isolated dead-ends, adding layers of complexity or simplicity as needed.
  • Creative Control: Affords users the freedom to strategically place endpoints, integrate blank spaces for complex maze shaping, and amalgamate smaller sections into larger areas, enhancing both the aesthetic and functional aspects of your designs.
  • Pathway Personalization: Allows for the adjustment of room connections, offering the ability to influence the direction and flow of the maze’s pathways, thereby enabling the crafting of a distinct template for each project.
  • Optimized SVG Output: Ensures that the generated SVG files meticulously adhere to defined specifications regarding dimensions and wall thickness, with paths optimized for seamless integration and further processing in various workflows.

Ready to Start?

Using Erbsland Maze is straightforward. Please have a look at the Command Line Section in the documentation. It contains detailed descriptions of all command line options with many examples.

How to Use the API

Leveraging the Erbsland Maze Generator API unlocks unparalleled customization and control, surpassing even the capabilities of the command-line tool. By integrating the API into your Python scripts, you gain the flexibility to tailor maze generation to fit seamlessly into your projects and workflows. Follow our straightforward, step-by-step guide to begin generating mazes programmatically with the Erbsland Maze API, and discover the vast possibilities for customization that await.

The programmatic approach not only gives you more flexibility to control the parameters but also allows you the opportunity to write your own Layout class to render the generated maze in a different file format. This added layer of customization enables users to adapt the output to fit a wide array of applications beyond the standard SVG, further extending the utility and applicability of the Erbsland Maze Generator in diverse projects.

About the Software Design

Designed with modular extensibility at its core, the software distinctively segregates the graphical layout from the algorithmic maze generation. It introduces an abstract data structure to represent the interconnected rooms, facilitating seamless adaptation to diverse design needs. This architecture not only enables the replacement of the maze generation algorithm while retaining the layout classes but also supports the creation of new layout classes for additional image formats. The result is a highly adaptable tool that can evolve alongside your project’s requirements, offering an unparalleled level of design freedom and technical scalability.

Sources and License

Find all the sources of Erbsland Maze on GitHub. We’ve licensed the project under the GNU General Public License 3.0.