October 10, 2026

Forms that branch: pages and jumps in Dotdown™

Some forms are too long to show on one page. Some questions only matter if you answered another one a certain way. Google Forms calls these sections. In Dotdown™ they are one word: .page.

.text Name*
.select Ticket*: Student, Adult
.page Details
.text Company
.page Thanks
.textarea Anything else?

The visitor sees one page at a time, with Back and Next, and Submit on the last page. Required fields are checked when they press Next.

Sending people somewhere else

Put a > and a page title after a choice, and that answer jumps there:

.select Plan*: Free > submit, Pro > Payment, Team
.page Payment
.number Seats

Free submits straight away. Pro goes to Payment. Team has no jump, so it goes to the next page, which happens to be Payment too. A page can also have a jump of its own, .page Payment > Thanks, for where to go once it is done.

Jumps only go forward. There is no way to loop, which means a form can never trap someone.

The one rule

One question with jumps per page. If two questions on the same page both jump, only the last one decides, and the first is quietly ignored. If you need two decisions, give the second its own page.

The mistake everyone makes

A page with no > goes to the next page in the list, even when that page belongs to a different answer. Say Students have a page and Adults have a page. A student fills in theirs, and the next page is the adult one. Unless you tell the student page where to go (> Thanks, or > submit), they walk straight into it.

So we wrote a guide that starts with planning on paper, then walks through this and the other gotchas, each with a map of where every visitor ends up. It also has a box where you paste your own Dotdown™ and see the routes drawn.

Try it

Read the .page guide, or open any form in the editor and type .page. To walk a branching form without sending real answers, open it with ?test=1 on the end of its link. Nothing is saved or sent.

← All posts