Application Form in HTML — Working Code Template
A general-purpose HTML application form — personal info, experience/qualifications, references, optional file upload. Adaptable for membership, program, grant, scholarship, or any 'apply for X' use case.
Application forms share a structure across use cases — personal info, application body, supporting documents. The form above is generalized: drop in your specific 'apply for X' question set, customize the select options, and ship. Common variants: club/society membership, program enrollment, grant applications, scholarship applications, beta access waitlists.
Group related fields in `<fieldset>` elements with `<legend>` labels. This is the semantic way to break a long form into sections; screen readers announce the legend when the user focuses any field inside. Bonus: the visual grouping that fieldsets provide (default browser styling adds a border) helps users navigate longer forms.
File uploads require `enctype="multipart/form-data"` on the form (the most-forgotten step). splitforms accepts attachments up to 10 MB per file, 5 files per submission, on every plan including free. Attachments are emailed to you AND stored in the dashboard AND included as signed URLs in webhooks.
For high-volume applications (university programs, large grant applications), wire a webhook from splitforms to your application management system. The structured fields (applying_for, why_fit) become JSON; the files become signed URLs. Most ATS systems accept this shape directly.
How to set this up
Group fields in fieldsets
Personal, application body, supporting documents — three semantic sections with <legend> labels.
Use a <select> for the application type
Predefined options are easier to filter than free-text in your dashboard.
File uploads with enctype=multipart/form-data
Required for attachments. The #1 forgotten step that silently breaks uploads.
Webhook to your management system
Configure in the splitforms dashboard. Applications populate your ATS/CRM automatically.
Personal info, body, supporting docs — three fieldsets, one form.
Frequently asked questions
What fields should an application form include?
At minimum: name, email, what they're applying for, and a free-text 'why' field. Add phone, address, references, file uploads as your use case demands. Don't ask for fields you won't actually use — every additional field reduces completion rate.
How do I make sections in an HTML application form?
Wrap related fields in <fieldset> elements with <legend> labels. The legend semantically describes the section; screen readers announce it when any field inside is focused.
Can I require file uploads in an application form?
Yes — add `required` to the file input. Combined with `accept=".pdf,.doc,.docx"` to restrict file types. splitforms accepts attachments up to 10 MB per file on every plan.
How do I track which applications are pending review?
splitforms's dashboard shows every submission with a timestamp and status. Mark submissions as reviewed manually, or webhook them into a dedicated application-tracking tool (Google Sheets, Notion, Airtable, your ATS).
Related guides
Ship the form, not the backend.
Free for 1,000 submissions/month. Email delivery, AI spam filtering, signed webhooks, real dashboard — all on the free plan. No credit card.
Get a free access key →