File uploads
Formward accepts file attachments on your forms. Add a <input type="file"> with a name and submit the form as multipart/form-data. Each uploaded file is stored securely and listed on the submission in your dashboard, where you can download it. File uploads are available on the Professional plan and above.
Add a file field
Set the form's enctype to multipart/form-data so the browser sends the file bytes, and give each file input a name. Use multiple to allow several files in one field.
<form
action="https://forms.formward.eu/f/<formId>"
method="POST"
enctype="multipart/form-data"
>
<label>
Your CV
<input type="file" name="cv" />
</label>
<label>
Attachments
<input type="file" name="attachments" multiple />
</label>
<button type="submit">Send</button>
</form>Limits
- Available on the Professional plan and above.
- Up to 5 files per submission.
- 10 MiB maximum per file.
- 25 MiB maximum total across all files in one submission.
- Files are scoped to the submission and only the form owner can download them, through an authenticated dashboard link.
- Downloads are always served as attachments (never rendered inline), so an uploaded HTML or SVG file can never run as a page.
Allowed file types
Only the following MIME types are accepted. Anything else (including executables, scripts, archives, and HTML) is rejected with a 415:
- Images:
image/jpeg,image/png,image/gif,image/webp - Documents:
application/pdf,text/plain,text/csv,application/csv - Microsoft Office:
.doc/.docx,.xls/.xlsx,.ppt/.pptx - OpenDocument:
.odt,.ods,.odp
Upload errors
When an upload violates a limit, the endpoint rejects the whole submission with one of these status codes (JSON body in AJAX mode, otherwise a minimal HTML error page). See Responses & redirects for the full table.
| Code | When | Body (AJAX) |
|---|---|---|
| 400 | More than 5 files, or uploads not available on this server | { ok: false, error: "too many files" } |
| 413 | A file exceeds 10 MiB, or the request exceeds 25 MiB total | { ok: false, error: "file too large" } |
| 415 | A file's type is not in the allowed list | { ok: false, error: "file type not allowed: <mime>" } |
| 403 | Uploads disabled on the form, or the plan does not include uploads | { ok: false, error: "file uploads are disabled for this form" } |
On success, the AJAX response includes a files count of how many attachments were stored, e.g. { ok: true, id: "...", files: 2 }.
Viewing uploads
Open any submission under the form's Submissions tab. Files appear in an Attachments section with their size and type, each with a download link. Non-file fields behave exactly as described in Special fields.