---
title: "What actually makes a maze hard (we measured it) | Once Books"
description: "Size is not difficulty. We graded a maze generator easy to evil, measured every page, and found one of our three difficulty signals ran backwards."
source: "https://www.oncebooks.com/blog/what-makes-a-maze-hard"
---

1. [Home](https://www.oncebooks.com/)
2. [Blog](https://www.oncebooks.com/blog)
3. What actually makes a maze hard (we measured it)

Blog

# What actually makes a maze hard (we measured it)

[The Once Books team](https://www.oncebooks.com/authors/team) · 7 October 2026 · 7 min read

- [puzzle design](https://www.oncebooks.com/blog/tag/puzzle-design)
- [mazes](https://www.oncebooks.com/blog/tag/mazes)
- [engineering](https://www.oncebooks.com/blog/tag/engineering)

We built a maze generator, graded it from easy to evil, and then measured what we'd made. One of the three numbers we'd chosen to define difficulty turned out to run backwards down the ladder.

That's the useful part of this post, so here it is first: **junctions per cell of route is higher on our easy mazes than on our hard ones.** If you'd asked us before we measured, we'd have said the opposite with some confidence.

## The problem nobody writing about maze books mentions

Take a 40 by 40 grid, carve it, and put the entrance and exit near each other. The route is twenty cells long. The other 1,580 cells are decoration. The page takes a minute, and the cover says it's a giant maze.

That's not a hypothetical. It's the most common way a generated maze book disappoints, and it's invisible to the person generating it, because the page looks enormous. Size is the thing you can see and difficulty is the thing you can't, which is exactly the setup for a product that ships something nobody enjoys.

So before picking numbers we wrote down what we thought difficulty was, and then checked.

## What we measured

Three candidates, on every page, after carving:

- **Route length.** How many cells the correct path runs through.
- **Wrong-turn depth.** How many cells deep the deepest wrong branch goes, found by flooding outward from the route. This is what a mistake costs.
- **Junction density.** How many cells on the route offer three or more ways on, divided by the route length. Decisions per step.

Then we generated across every shape and grade and took medians. These are the rectangular numbers, which are the cleanest to read:

| Grade | Route length | Deepest wrong turn | Junctions per cell |
| --- | --- | --- | --- |
| Easy | 27 | 8 | 0.46 |
| Medium | 40 | 15 | 0.50 |
| Hard | 106 | 23 | 0.45 |
| Extreme | 290 | 59 | 0.12 |
| Evil | 737 | 97 | 0.08 |

Route length and wrong-turn depth climb cleanly. Junction density sits around 0.45 to 0.50 for the first three grades and then falls off a cliff.

## Why the junction number is inverted

It's a property of the carving algorithm, not of the difficulty.

Our hardest grades use a depth-first carver, which produces long winding corridors with occasional branch points. You walk a long way between decisions. Our easiest grades use a biased carver with most of the dead ends opened into loops, which produces a bush: short runs, constant branching, and almost nothing that punishes a wrong choice.

So a braided toddler maze is junctions all the way down, and a 40 by 40 depth-first maze is a river with a few tributaries. Counting decisions per step measures which carver ran, and tells you nothing about how long the page takes.

This is why we report junction density on every generated maze but don't grade on it. It's a genuinely useful diagnostic for "what does this page feel like", and a useless one for "how hard is it".

## What we kept

Two signals, and we band them differently from how we expected to.

**Wrong-turn depth** is an absolute count and transfers cleanly between shapes. A wrong turn forty cells deep is forty cells deep whether the cells are squares, hexagons or polar wedges. Our evil grade asks for at least 38.

**Route length** we band as a fraction of the reachable cells rather than as a count, and that correction came out of a second surprise.

## A size has to mean a cell count

We shipped six size presets, named by their grid: medium is 16 by 16, giant is 40 by 40. Then we built the same sizes on a circular grid and a heart-shaped one and measured again.

Seven polar rings hold 139 cells where a 16 by 16 rectangle holds 256. A heart fills a little under half its bounding box. Taking the preset's numbers literally meant a "hard" circular maze measured as a medium one, and a "giant" heart measured two grades below its label. Same setting, different product.

The fix is that a size means *about this many cells*, whatever the shape. A circular grid picks the ring count that comes nearest the target, and a masked grid grows its box until the silhouette holds enough. A reader who switches from a square maze to a heart keeps the difficulty they picked, which is the only behaviour that isn't a lie.

## And a circular maze is a different journey

One more correction, and it's geometric rather than a bug.

A polar maze is solved rim to hub. That's a radial trip: its length grows with the ring count, while the cell count grows with the square of it. Measured against the same path-ratio floor as a rectangle, good circular mazes failed and bad square ones passed. So the floor is scaled by shape, which is a slightly embarrassing-looking special case that happens to be the honest one.

## What the grade actually does now

Two jobs, kept apart, because conflating them was the original mistake.

The **band** is a quality gate on a seed. The grade's identity comes from its size and its carver; the band just catches the dud page, and the generator keeps the best of six seeds against it. Across all five shapes, five grades and four entrance placements, 300 out of 300 pages clear their own band and 300 out of 300 are structurally valid.

The **classifier** is separate and answers a different question: whatever this maze was asked to be, how hard is it really? It reads route length and wrong-turn depth off two ladders and takes the lower of the two, so a giant braided maze with a long route past shallow loops is reported as easy rather than evil. The free generator shows you that number, and it will contradict the setting you picked if you pick an odd combination. That's the point.

## If you want to try the difference

Generate a maze at medium, then switch the shape to hexagonal and leave everything else alone. Six sides per cell instead of four means a junction can offer five ways on instead of three, and the page takes visibly longer at the same cell count. Then set Passages to "no dead ends" on an easy maze and watch the wrong-turn depth collapse while the route barely moves.

Both are free in the [printable maze generator](https://www.oncebooks.com/tools/maze-generator), and if you're building a whole book, the [KDP maze maker](https://www.oncebooks.com/kdp-maze-maker) applies the same measurement to every page before it prints. The rest of that job, from picking an age band to the gutter width, is in [how to make and sell maze books on KDP](https://www.oncebooks.com/blog/how-to-make-and-sell-maze-books-on-kdp).

## Try the tool

Free, in your browser, no sign-up. Make one, then build the whole book in the studio.

[Maze generator Pick a shape, a size and how hard it should be, then print the maze and its answer. Free, no sign-up. Try it free](https://www.oncebooks.com/tools/maze-generator)

## Questions parents ask

**What makes a maze hard?**

Two things, and neither is the size of the grid. How far the route travels across the maze, and how deep the deepest wrong turn goes. A big maze whose solution runs down one edge past shallow branches is an easy page, however many cells it has.

**Does a bigger maze take longer to solve?**

Only if the route is longer, and that is not guaranteed. Doubling the grid quadruples the cells but can leave the entrance and exit close together, so the solving time barely moves. Measure the route, not the grid.

**Are more junctions what makes a maze difficult?**

Not per cell of route. We measured the opposite: the carvings that produce the hardest mazes make long corridors with few decisions per cell, while the gentlest mazes are junctions all the way down. Junction density is a texture, not a difficulty.

## Related reading

- [Five maze shapes, and what each one does to the solving](https://www.oncebooks.com/blog/the-five-maze-shapes) — Square, hexagonal, triangular, circular and picture-shaped mazes. How the grid changes the puzzle, which ages each suits, and what it costs to print.
- [Stripe Checkout without webhooks: a pull-based design](https://www.oncebooks.com/blog/stripe-checkout-without-webhooks) — How we confirm Stripe Checkout payments with no webhook: session reuse, a unique checkout key, strict verification and a 10-minute reconciliation sweep.
- [How to make and sell maze books on Amazon KDP](https://www.oncebooks.com/blog/how-to-make-and-sell-maze-books-on-kdp) — A practical guide to maze books: picking a shape and an age, grading the book, provable answer keys, large print that means something, and the interior.

## Keep reading

- [Answers](https://www.oncebooks.com/answers) — One sharply-scoped question per page, cost, safety, timing, printing, answered in a couple of sentences before the detail.
- [Glossary](https://www.oncebooks.com/glossary) — Plain definitions of the vocabulary: the Character Sheet, the Consistency Engine, style profiles, drift.
- [Help centre](https://www.oncebooks.com/help) — Task-shaped instructions for making, printing and sharing a book once you have started one.

[← All posts](https://www.oncebooks.com/blog)

Try this tool

[Maze generator Pick a shape, a size and how hard it should be, then print the maze and its answer. Free, no sign-up. Try it free](https://www.oncebooks.com/tools/maze-generator)
