Contact Form with File Upload (Attachments)
Some contact forms need attachments — a project brief, a CV, a damaged-product photo. This is the form pattern for that, with drag-and-drop, multi-file, and removable file rows.
File attachments are where most form backends fall over — they either don't support them, or they bolt on an upload service (Cloudinary, Uploadcare) you have to configure. splitforms ships drag-and-drop file upload as a Pro feature, with the same one-endpoint integration model. PDFs, screenshots, CVs, and project briefs arrive as actual attachments on the email, not links to a CDN.
- →Quote request · 6 fields
- →HTML, JS, React, PHP, cURL outputs
- →One POST endpoint, no SDK
- →Honeypot + classifier, no CAPTCHA
See exactly what your visitors see — and you’ll receive.
Left: the rendered form, fully interactive in a sandboxed iframe. Right: the email and dashboard view that lands the moment a visitor submits.
Every submission becomes an email plus a dashboard row. The fields below are the exact payload your form will send. Reply-to is wired to the visitor’s email so hitting reply goes back to them.
Iframe is sandboxed — submit doesn’t actually fire. Get your access key to wire it up live.
Generate, embed, receive.
Three actions stand between you and your first lead. None of them require a backend, a database, or a CAPTCHA library.
Use the file-upload template
Copy the HTML/JS for the drag-and-drop zone. The same form action endpoint handles file payloads via multipart/form-data — no special API.
Set per-file limits
Default cap is 10MB per file, 25MB per submission. Pro plans can raise these. File types are validated server-side.
Receive attached files
Files arrive as actual email attachments on every notification. The dashboard stores them with signed download URLs that expire on a schedule you control.
Five outputs. One backend.
HTML by default. Click open the language you ship in — every variant POSTs to the same /api/submit endpoint.
Replace YOUR_ACCESS_KEY with the key from your dashboard. That’s the only edit.
One template. Every framework.
The same field set works on every framework splitforms supports. HTML, React, Next.js, Vue, Astro, Hugo, WordPress — same POST, same backend.
Things people ask before they ship.
Direct answers, no marketing fluff. Missing one? Email hello@splitforms.com.
Ship your contact form with file upload (attachments) in 60 seconds.
1,000 free submissions per month. No credit card. Copy the snippet, paste your access key, watch leads land in your inbox.