Event registration form
Registration closes when the room is full, not when you remember to close it. This form collects what you need on the door and pairs with a submission cap so you cannot oversell a fixed number of seats.
The form beside this text is live. Fill it in and submit it — it validates exactly as it would for a real respondent, and saves nothing.
A cap you set once and forget
"Close after N submissions" in Advanced settings stops the form at your number. Every registration carries a timestamp, so when the last places go the order is a matter of record rather than argument.
Anyone can register without an account
Attendees open the link and fill it in. There is no signup step between them and the form, which is the difference between a full room and a half-full one.
No card required.
Event registration
Live previewHow to build this form
5 steps in the editor. Nothing here needs a paid plan.
- Add short text and email fields for the attendee — the two things you need to get them through the door.
- Add a dropdown for ticket type. Keep the option labels the same wording you use on your event page.
- Add a checkbox group for the sessions on offer, so one attendee can pick several.
- Add an optional long text field for dietary requirements, which is what your caterer will ask for.
- Share the link and watch the count. Registrations are timestamped to the millisecond, so the order is a matter of record even when you are the one deciding where the line falls.
Fields in this form
5 fields, using 5 of the 19 field types available.
| Question | Field type | Required |
|---|---|---|
| Attendee name | Short text | Yes |
| Yes | ||
| Ticket type | Select | Yes |
| Which sessions will you attend? | Checkboxes | Optional |
| Dietary requirements | Long text | Optional |
The same form, for a conference, a webinar, a class or a workshop
These are all registration forms and they are not the same form. The fields that change are few but they matter, and getting them wrong is what produces the follow-up email you were trying to avoid. Start from the example above and adjust.
A conference needs session or track choice as a dropdown, dietary requirements, and usually accessibility needs — the three things that are painful to gather late. A webinar needs almost none of that and needs one thing the others do not: the attendee's time zone, as a dropdown, because "3pm" means five different things across a registration list and nobody reads the small print. A class or a course needs which session or cohort, as a dropdown rather than a date field, so people pick from the ones that exist rather than typing a date you are not running. A workshop or training day sits between the two: cohort choice, plus dietary and accessibility if anyone is in the room for a full day.
What stays identical across all four is the shape: name and email as required fields, everything selectable in a dropdown or radio group so the totals are countable, and anything free-text kept optional. That shape is why one example covers four kinds of event.
Capacity: closing the form at a number or a date
Set "Stop after this many responses" in Settings, Advanced, to your venue capacity. The registration that reaches the number is accepted and the next one is refused with a message saying the form has reached its limit. It is enforced when a registration is submitted rather than in the browser, so it holds however widely the link travels — including through an embed on someone else's site.
There is also "Stop after this date", which includes the whole of the day you pick, up to 23:59 UTC. Set both and whichever comes first applies, which is the usual shape for an event: close at capacity, or at the registration deadline, whichever happens sooner. Leave both blank and the form stays open indefinitely.
What there is NOT is a waitlist. The form closes rather than queueing the overflow, and that is a real gap if you routinely oversubscribe. Two workarounds do the job: set the capacity above the room and confirm the first N by timestamp from the CSV export, since every registration is timestamped to the millisecond; or publish a second form as the waitlist and share its link once the first has closed.
Getting the details you will otherwise chase
Dietary requirements, accessibility needs and session choices are the three things every organiser ends up collecting twice — once badly on the form, then again by email a week before. The fix is not a longer form; it is making them optional and putting them in front of people while they are already registering.
Ask for dietary requirements as an optional long-text field rather than a checkbox list. Allergies do not fit a fixed list, and "vegetarian, no nuts" in someone's own words is more useful to a caterer than three ticked boxes. Ask for accessibility needs the same way and in the same place — attendees who need something are far more likely to say so in a field already on screen than in an email they have to compose to a stranger.
Session and ticket choice is the opposite: keep it a dropdown, always. It is the number you need for room sizes, catering counts and staffing, and free text turns that count into a manual exercise every single time you want it. The rule of thumb across the whole form is that anything you will count belongs in a dropdown, and anything a human will read belongs in a text field.
What goes wrong with this form
Specific to a event registration form, not general advice about forms.
Leaving the capacity blank
The limit is off unless you set it, so a form with the field empty will happily oversell your venue. Overselling is worse than closing early — unwinding it means telling specific people they cannot come — and setting one number in Advanced avoids the whole conversation.
Ticket types as free text
Put ticket or session choices in a dropdown. Counting how many people picked each option is the number you need for catering, seating and staffing, and free text turns that count into a manual exercise every time you want it.
Collecting accessibility needs as an afterthought
Ask about access and dietary requirements on the form, optionally, rather than by email afterwards. Attendees who need something are far more likely to say so in a field that is already in front of them than in a message they have to compose.
Questions about this form
How do I make an event registration form?
Collect the attendee name and email, put ticket types in a dropdown so they stay countable, and add any dietary or accessibility needs as optional fields. Then set "Stop after this many responses" in Settings, Advanced, to your venue capacity, and the form closes itself at that number.
How do I stop registrations when the event is full?
Set "Stop after this many responses" in Settings, Advanced, to your capacity. The registration that fills the event is accepted and the next is refused with a message saying the form has reached its limit. It is enforced on submission, not in the browser, so it holds however the link is shared. You can also set a closing date, and whichever comes first applies.
Can I use this for a webinar or a class instead of an event?
Yes — the shape is the same and only a couple of fields change. A webinar wants the attendee’s time zone as a dropdown, because a start time means different things across a registration list. A class or course wants which session or cohort, again as a dropdown so people pick from sessions that exist. Everything else — name, email, countable choices, optional free text — stays as it is.
Is there a waitlist when the event fills up?
No — the form closes at your limit rather than queueing the overflow, and that is a real gap. If you want a waitlist, set the capacity higher than the room and confirm the first N by timestamp from the CSV export, or publish a second form for the waitlist and share it once the first one closes.
Do attendees need to create an account to register?
No. They open the link and fill it in — there is no signup step between them and the form, which is the difference between a full room and a half-full one. You can still password-protect the form if registration should be invitation-only.