splitforms.com

Job application form

Job application form with resume upload.

Updated · plan facts checked against /pricing

A job application form collects a candidate's name, email, the role they want, a resume and a cover letter. This one posts to a single splitforms endpoint with no backend code, and the Free plan covers 500 applications in total.

  • 500 free total
  • No backend code
  • Resume upload
A candidate submitting a job application with a resume to the splitforms dashboard

Resume upload

Add a file input and applicants attach a PDF/DOCX resume and cover letter: 5 files, 5 MB each on paid plans.

Spam-screened

A botcheck honeypot, a form_loaded_at time-trap, content heuristics, and IP rate limiting block bot applications before anything is stored.

Routed to your ATS

Owner email on every plan; signed webhooks and 1-click Notion, Airtable, Google Sheets, or Slack on paid plans.

Copy-paste ready

Your job application form, ready to paste.

Drop this into your careers page — it posts directly to splitforms with no server, PHP, or API route to write. Swap in your own access_key from the dashboard. Want field-by-field notes with LinkedIn and portfolio fields? The job application form HTML guide walks through both; on WordPress, use the WordPress form guide or plugin instead of raw HTML.

Generate access key
careers.html
<form action="https://splitforms.com/api/submit" method="POST" enctype="multipart/form-data">
  <input type="hidden" name="access_key" value="YOUR_KEY">
  <input type="hidden" name="subject" value="New job application">
  <input type="hidden" name="form_loaded_at" id="form_loaded_at">

  <input type="text" name="name" placeholder="Full Name" required>
  <input type="email" name="email" placeholder="Email" required>
  <select name="position" required>
    <option value="">Select position</option>
    <option value="frontend">Frontend Developer</option>
    <option value="backend">Backend Developer</option>
    <option value="designer">Designer</option>
  </select>

  <!-- File upload (paid plans) -->
  <label>Resume (PDF)</label>
  <input type="file" name="resume" accept=".pdf,.doc,.docx">

  <textarea name="cover_letter" placeholder="Cover letter" rows="5" required></textarea>

  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
  <button type="submit">Submit Application</button>
</form>
<script>
  document.getElementById('form_loaded_at').value = Date.now();
</script>

Setup

How to add a job application form to your careers page.

Six steps from a blank careers page to applications landing in your dashboard and inbox — a free access key, the candidate fields, the resume upload, the spam traps, a test submission, and routing to your hiring workflow.

Get a free access key

Sign in to splitforms and create a form to get an access key. The Free plan needs no credit card and covers 500 applications in total.

Add the candidate fields

Name, email, and the role they're applying for at minimum. LinkedIn or portfolio URL and years of experience are common optional additions.

Turn on the resume upload

Set enctype="multipart/form-data" on the form and add an input type="file" field. File uploads are stored on Pro ($5 per month) and above: 5 files, 5 MB each per submission.

Add the spam traps

Include the hidden botcheck honeypot (leave it empty) and a form_loaded_at hidden field set to the page-load timestamp — both are checked server-side before anything is stored.

Test a submission

Submit a test application from the live page and confirm it shows up in your dashboard and inbox — owner email notifications are included free on every plan.

Route applications to your hiring workflow

Connect Notion, Airtable, Google Sheets, or Slack with one click, or forward each application to your ATS with a signed webhook (paid plans).

What it does

What does a job application form need to do?

A job application form collects a candidate's name, email, the role they're applying for, and a resume — posted straight to one splitforms endpoint with your access_key as a hidden field, so applications land in your dashboard and inbox with no backend code to write. Resume and cover-letter file uploads work from the Pro plan; Free covers 500 applications in total.

  • Collect name, email, role, resume, and cover letter
  • PDF/DOCX resume uploads: 5 files, 5 MB each on Pro
  • Screened for spam, stored, and emailed on every plan
A job application received, screened for spam, stored, and routed to your ATS, Notion, or Slack

What to ask

What to ask on a job application form.

Keep the required list short — every extra required field costs completion rate. A minimal, high-converting job application form requires the essentials and makes the rest optional:

  • Full name and email — required, so you can reply
  • Role — a dropdown of open positions, routed to the right hiring manager
  • Resume — a PDF/DOCX upload, required for most roles
  • Cover letter or “why us” — a short textarea for senior or specialized roles
  • LinkedIn or portfolio URL and years of experience — optional
Choosing the fields for a job application form

Routing

Route job application form submissions to your ATS, Notion, or Slack.

A self-hosted job application form isn't a replacement for Greenhouse, Lever, or Workable at high volume — but if you're hiring a handful of roles a year, every application still needs somewhere to go. On paid plans, forward each application's JSON to your ATS with a signed webhook (or Zapier, Make, or n8n), or connect Notion, Airtable, Google Sheets, or Slack as a one-click integration so the hiring team triages from a database or channel instead of an inbox. Every application is also available over the REST API or through the free MCP server for AI recruiting agents.

  • Signed webhooks to Greenhouse, Lever, Workable, or any ATS
  • 1-click Notion, Airtable, Google Sheets, or Slack
  • REST API and free MCP server for your own tools
Routing job applications to an ATS, Notion, Airtable, Google Sheets, or Slack

How SplitForms works

What happens after someone submits your form?

splitforms receives the submission, filters spam, saves it to your dashboard and emails you — then, on paid plans, sends it on to your webhooks and integrations. No backend infrastructure to build.

A SplitForms contact form submission launching straight to your inbox

Add your endpoint

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

HTML form pointing at a SplitForms submit endpoint

Receive submissions

We instantly capture and organize every submission in your inbox.

Submissions inbox with searchable leads and status pills

Route anywhere

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

Generic integration tiles for email, sheets, chat, CRM, automate, and webhook

No credit card required. Set up in under 60 seconds.

Connect & automate

Where can submissions go besides email?

On paid plans, submissions can also go to Slack, Discord, Google Sheets, Notion, Airtable, Zapier or any signed webhook — and splitforms works on the platforms you build on, from WordPress and Shopify to Next.js. With Stripe connected, your forms can take payments too.

Connect your SplitForms form to Slack, Google Sheets, Mailchimp, Zapier and more
NewTake payments on your formsDeposits, bookings, order forms — submitters check out through Stripe and the money goes straight to your Stripe account. Included on every paid plan.See payment forms →Need time slots? Online booking →

Setup guides for the stacks you use

Questions

Job application form questions.

View all FAQs
Can I accept resumes via a form?

Yes. File uploads are available on Pro ($5 per month) and above — set enctype="multipart/form-data" on the form and add an input type="file" field, and applicants can attach a resume when they apply.

Where do job application form submissions go?

Each application is stored in your dashboard with all fields, files, and metadata. You also get an email notification with the application details — that's included free on every plan, including Free.

Can I forward applications to my ATS or hiring tool?

Yes. Use a signed webhook (Pro and above) to forward each application's JSON to Greenhouse, Lever, Workable, or any ATS/tool that accepts webhook data, or route through Zapier, Make, or n8n (splitforms has no native Zapier app, but the generic webhook works with all three).

Is a job application form backend free?

Yes. Free covers 500 applications in total with unlimited forms, spam filtering, and email notifications included. Pro is $5 per month for 5,000 submissions a month with file uploads, webhooks, integrations, an auto-responder, CC/BCC, and priority support.

How do I stop spam job applications?

Every submission passes through the hidden botcheck honeypot and the form_loaded_at time-trap, plus server-side content heuristics and rate limiting (6 submissions/minute per IP, 20 per 15 minutes). Add per-form allowed domains, strict origin mode, or your own reCAPTCHA v2 key for extra coverage.

Can I collect a resume and a cover letter as separate files?

Yes, on paid plans. Each submission accepts up to 5 files, 5 MB each, so add a second input type="file" field and a resume plus a standalone cover-letter PDF upload together in one application.

Can I redirect applicants after they submit, or set a custom email subject?

Yes. Add a hidden redirect field with a URL to send applicants to a thank-you or next-steps page, and a hidden subject field to control the notification email's subject line — both work with no extra setup.

Which job application form should I use?

Use the form on this page for a straightforward job application with a resume upload. For a small team's careers page with role, LinkedIn, work authorization and notice period fields, start from the careers page application form template. For hourly and shift work (retail, restaurants, warehouses), the hourly employment application form asks for availability by day and shift and doesn't require a resume. For non-job applications such as programs, grants or memberships, use the general application form template.

Simple pricing

How much does splitforms cost?

Free gives you 500 submissions for $0 — no card, no time limit. Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month with every Pro feature.

Free

$0— 500 submissions
 

No card, no time limit

Best for testing

For side projects and indie devs.

  • 500 free submissions
  • Unlimited forms
  • Email notifications included
  • Smart spam filtering
  • Submissions dashboard
  • Redirect after submit
  • MCP server included

Annual

$49/ year
About $4.08 per month, billed yearly
Best value

Every Pro feature with triple the volume — $0.27 per 1,000 at full use.

  • 15,000 submissions per month
  • Unlimited forms
  • Everything in Pro
  • File uploads with 5 GB storage
  • 3 team seats
  • Priority email support

No credit card required on Free • Cancel anytime • Full pricing and FAQ