Pick your application type
Decide whether you're collecting program, membership, grant, scholarship, rental, volunteer, or job applications — the field groups below adapt from there.
Application form template
Ready-made HTML for programs, grants, scholarships, memberships, and jobs — with file uploads. Paste it in, add your access key, and applications land in your inbox and dashboard.

No backend, API route, or SDK. Your application form posts straight to one splitforms endpoint.
multipart/form-data lets applicants attach a resume, CV, or supporting PDF — no extra setup.
Every application is spam-filtered, emailed to you, and saved to a searchable dashboard within seconds.
Copy-paste HTML
Paste this application form template into any page — it posts to splitforms over multipart/form-data, so file uploads work out of the box. Swap YOUR_ACCESS_KEY for the key from your dashboard, and applications start landing in your inbox. Prefer a React or Next.js fetch() POST? The same endpoint accepts JSON — see the API reference for the request format.
<form action="https://splitforms.com/api/submit"
method="POST"
enctype="multipart/form-data">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input type="hidden" name="subject" value="New application" />
<input type="hidden" name="form_loaded_at" id="form_loaded_at" />
<fieldset>
<legend>Personal information</legend>
<label>Full name <input name="name" required /></label>
<label>Email <input name="email" type="email" autocomplete="email" required /></label>
<label>Phone <input name="phone" type="tel" autocomplete="tel" /></label>
</fieldset>
<fieldset>
<legend>Application details</legend>
<label>Applying for
<select name="applying_for" required>
<option value="">Choose one</option>
<option>Membership</option>
<option>Program</option>
<option>Grant</option>
<option>Scholarship</option>
<option>Other</option>
</select>
</label>
<label>Why are you a good fit?
<textarea name="why_fit" rows="5" required></textarea>
</label>
</fieldset>
<fieldset>
<legend>Supporting documents</legend>
<label>Resume, CV, or supporting PDF
<input name="supporting_file" type="file" accept=".pdf,.doc,.docx" />
</label>
</fieldset>
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" />
<button type="submit">Submit application</button>
</form>
<script>
document.getElementById('form_loaded_at').value = Date.now();
</script>Step by step
Five steps from a blank page to applications landing in your dashboard and inbox — no server, no plugin, no PHP.
Decide whether you're collecting program, membership, grant, scholarship, rental, volunteer, or job applications — the field groups below adapt from there.
Use fieldsets for personal information, application-specific questions, and supporting documents so a long application still scans in seconds.
Paste your access_key into the hidden field, leave the botcheck honeypot empty, and add the hidden form_loaded_at field (set by the one-line script below) so splitforms can reject submissions that arrive too fast to be human.
Set enctype="multipart/form-data" on the form and add an input type="file" field so applicants can attach a resume, CV, or supporting document.
Submit a test application and confirm it lands in your dashboard and inbox. Connect Notion, Airtable, Google Sheets, or Slack with one click if you want it routed further.
What it collects
An application form template is ready-made HTML you drop onto a page and connect to a backend, so applications reach you instead of vanishing into a mailto: link. This one covers programs, memberships, grants, scholarships, rentals, and jobs — with grouped sections for personal details, review questions, and file uploads.

Application types
The same application form template flexes across review workflows — adjust the field groups to fit what you're accepting, whether that's a program, membership, grant, scholarship, rental, or job.

Stop spam
Every submission passes through the botcheck honeypot — a hidden field that must stay empty — and the form_loaded_at time-trap, which rejects entries submitted too fast to be human. Layer on per-form allowed domains, strict origin mode, and optional reCAPTCHA v2 with your own site key.

How SplitForms works
Connect your form, collect every submission, and send data where it needs to go — without building backend infrastructure.

Point your form to your unique SplitForms endpoint. That's it.

We instantly capture and organize every submission in your inbox.

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
SplitForms works with the destinations you route to and the platforms you build on — from Slack and Sheets to WordPress, Shopify, and Next.js.

Trusted by indie teams and agencies shipping forms worldwide
Testimonials
40 quotes on record — from indie hacks to agency migrations.
“I replaced a Lambda + DynamoDB + SES contact form with six lines of HTML. It took eleven minutes, and the dashboard is better than what I was going to build.”
“We migrated 14 client sites off Formspree in a single weekend. The price is a third of what we paid, the API is more honest, and the spam filter actually works.”
“The webhook payload is signed, idempotent, and well-shaped. It reads like code from a competent team, not a CRUD app held together with duct tape.”
“I stopped reaching for Typeform on small marketing sites. splitforms covers 90% of the use case at none of the bloat.”
“I onboarded our whole agency in an afternoon. The MCP integration meant Cursor literally dropped the form straight into our client repos for us.”
“The free plan gave me 500 submissions before I paid a cent, and Starter is a dollar a month. I've spent more on coffee deciding which backend to use.”
“Spam went from forty junk entries a day to zero, with no reCAPTCHA puzzle ruining the form. The honeypot and time-trap just quietly do their job.”
“Point the form action at one endpoint and you're done. No SDK, no client library, no build step. This is how a form backend should feel.”
“Leads land in Slack the second someone submits, and a copy goes to Google Sheets for the sales team. I wired both up in under ten minutes.”
“I run a static Hugo site on a five-dollar VPS. splitforms gave it a real contact form without me standing up a single server.”
Questions
An application form template is ready-made HTML you drop onto a page and connect to a backend, so applications reach you instead of vanishing into a mailto: link. This one covers programs, memberships, grants, scholarships, rentals, and jobs, with sections for personal details, application questions, and file uploads. Point the form at POST https://splitforms.com/api/submit with your access_key, and applications land in your splitforms dashboard and inbox — no server code required.
Most application forms need personal information, the thing being applied for, eligibility or experience questions, references or links, consent text, and optional file uploads. Keep only fields that change the review decision.
Yes. The form posts directly to splitforms, emails your team, and stores every application in your dashboard — searchable, exportable, and ready to review. It works as a standalone online application form with no server of your own to build or host.
Yes. Add enctype=multipart/form-data to the form and use input type=file for PDFs, DOCX files, images, or supporting documents. Use the accept attribute to guide file type selection.
A job application form is one application-form variant. This template is broader: memberships, programs, scholarships, grants, rentals, volunteer applications, and jobs. Use the dedicated job template when hiring is the only use case.
Every submission passes through the botcheck honeypot — a hidden field that must stay empty — and the form_loaded_at time-trap, which rejects entries submitted too fast to be human. Add per-form allowed domains or strict origin mode, and turn on reCAPTCHA v2 with your own site key for extra coverage.
Free covers 500 applications a month with unlimited forms, spam filtering, and email notifications. Starter is $1/month for 1,000 submissions plus exports, webhooks, integrations, and an auto-responder. Pro is $5/month for 5,000 submissions with CC/BCC and priority support. The $59 3-Year plan covers 15,000/month. Higher volume is available through Business — email hello@splitforms.com.
Yes. Add a hidden subject field to control the notification email's subject line, and a hidden redirect field with a URL to send applicants to a thank-you or next-steps page after they submit.
Yes — connect any of those as a one-click OAuth integration in the dashboard, no code required. For anything else, use a signed webhook (works with Zapier, Make, or n8n) or the REST API to pull submissions with a bearer token.
Simple pricing
Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, and higher submission limits.
Free forever
For side projects and indie devs.
For builders who want every paid feature for $1/month.
For agencies and growing products.
Pay $59. 3 years sorted.
No credit card required on Free • Cancel anytime