October 8, 2026
Dotdown™: build a form by typing
Building a form in TinyForm means adding rows one at a time: pick a type, fill in a label, repeat. It works, but it’s slow if you already know what the form looks like. So we added a second way in: Dotdown™, a tiny text format. Type the form into a box and it appears.
---
Event signup
Please fill this in.
---
.text Your name*
.email Email*
.select Plan: Free, Pro, Team
Press Enter and the title, the description and the fields below the box update. Open the box on a form you already have and it fills itself with that form as text, so you can go from the field rows to text and back.
Where the idea comes from
Typing a trigger character to get a menu of things to insert is not new. Discord and Slack have slash commands, and Notion’s / menu is the version most people know. We borrowed that idea and are happy to say so.
What’s ours
The dot. We use . as the main prefix instead of /. TinyForm is meant to feel tiny, and a dot is about the smallest mark there is. The / still works if your fingers prefer it, and the menu will show you the dot version either way.
Chaining on one line. You can put several fields on a single line, which reads more like a sentence than a list:
.text Full name .number Quantity .email Email
Required with a star. A field is optional unless its label ends with *, the same star visitors see next to required fields: .text Full name*.
Short forms. A bare .email or .tel gets a sensible label. A bare word like .first_name becomes a text field called “First name”.
Samples you can tab through. Type .radio and the whole line appears: .radio Size: small, medium, big. Tab selects Size so you can rename it, and Tab again selects the choices.
Title, description and tags in one block. Put them between two --- lines at the top, then write the fields below:
---
Event signup
Please fill this in.
#event #feedback
---
.text Your name*
Everything, not just the simple fields. Totals, repeating groups and doodles all have a text form too:
.number Guests
.tally Total: Guests x $25
.duplicate Child: Kids { .text Name .date Birthday }
Try it
It’s under Fields on the new-form and edit-form pages, marked beta. The Dotdown™ page has the syntax for every field. If something reads wrong or a form doesn’t come back the way you typed it, tell us.
Update: Dotdown™ now has pages and jumps, so a form can send people to a different page by their answer. See Forms that branch.