New Mazes Daily

About MazeMazeMaze

My son loves a maze. So I made this website for him. It started off as an experiment and quickly turned into an entire project with an idea for a game. Now I need to make it interactive.

There’s 1 new maze a day for each difficulty. Each maze is entirely random, and many can be solved in multiple ways.


The mazes are created dynamically with Javascript. The images are large, but they are created from small tilesets that describe the landscape. As such, the page loads nice and quickly.

I used vanilla Javascript to create this thing. Written in ES6, and compiled with Babel, using Codekit, it’s very simple to edit and maintain; and very fast to load.

The code is based on some code I found on a CodePen, but modified considerably. Initially I just tidied the code, but later I added paths joining up the maze to make it more circular, islands to break up the shape, and other patterns to make things more interesting. Many mazes, especially the larger ones have multiple routes - which is ideal for a 3 year old child (my son at the time of making this thing).


All the good tilesets for the mazes were created by a bunch of awesome artists - the less good ones were made by me.