File Uploads

4 min read

The File Upload field lets respondents attach files directly to their form submission. This guide covers how to add and configure file uploads, manage storage, and access uploaded files programmatically.

Adding a File Upload Field

In the form builder, click + and select File Upload from the Advanced category. Drag it into the desired position on your form. The field displays a drop zone where respondents can drag files or click to browse their device.

Configuring Accepted File Types

By default, the file upload field accepts all file types. Restrict accepted types in the field settings panel under Accepted Types:

CategoryAccepted Extensions
Images.jpg, .jpeg, .png, .gif, .webp, .svg, .bmp
Documents.pdf, .doc, .docx, .txt, .rtf, .odt
Spreadsheets.xls, .xlsx, .csv, .ods
Presentations.ppt, .pptx, .odp
Archives.zip, .rar, .7z, .tar.gz
AnyAll file types accepted

You can select one or more categories, or enter specific extensions manually. When a respondent tries to upload a restricted file type, they see a clear error message indicating which types are accepted.

Size and Count Limits

Configure limits to control what gets uploaded:

  • Max file size: Set the maximum size per individual file. Options range from 1 MB to 100 MB depending on your plan.
  • Max file count: Control how many files can be uploaded in a single field. Set to 1 for single-file uploads (e.g., resume) or higher for multi-file uploads (e.g., photo gallery). Maximum is 20 files per field.

Storage Quotas by Plan

File uploads count toward your workspace storage quota. Here is what each plan includes:

PlanStorage QuotaMax File Size
Free100 MB5 MB per file
Pro1 GB100 MB per file

You can view your current storage usage in Settings > Usage & Billing. When you approach the quota limit, WittyForm sends a notification. Respondents will see an error if a submission would exceed the quota.

Upload Experience for Respondents

The file upload field provides a polished experience out of the box:

  • Drag and drop: Files can be dragged directly onto the drop zone.
  • Progress indicator: A progress bar shows upload status for each file.
  • Preview: Image files display a thumbnail preview after upload.
  • Remove: Respondents can remove uploaded files before submitting.
  • Mobile support: On mobile devices, the upload button opens the native file picker with camera access for photo capture.

Accessing Uploaded Files

Uploaded files are stored securely and accessible through several channels:

Dashboard

View uploaded files in the Responses tab. Click any response to see attached files. Download individual files or export all files for a form as a ZIP archive.

API Access

Retrieve a response, including its uploaded files, with the Responses API. File upload answers appear under answers, keyed by field ID, as an array of file objects:

GET /api/v1/forms/{formId}/responses/{responseId}
Authorization: Bearer YOUR_API_KEY

// Response:
{
  "response": {
    "id": "...",
    "form_id": "...",
    "answers": {
      "resume_upload": [
        {
          "name": "jane-smith-resume.pdf",
          "size": 245760,
          "type": "application/pdf",
          "url": "https://.../storage/v1/object/public/form-uploads/..."
        }
      ]
    },
    "metadata": {},
    "submitted_at": "..."
  }
}

The url points to the stored file in WittyForm storage. Download or store it in your own system from your backend.

Webhooks

When a webhook is configured, the delivered payload includes the file metadata and URL for every uploaded file. Process these URLs in your backend to download or store files in your own system.

Security note: Every upload is validated before it is stored. WittyForm checks the file extension, the reported MIME type, and the file's signature (magic bytes), blocks dangerous executable extensions, and rejects files that disguise their type with a double extension. Files are served over HTTPS, and access is gated by signed URLs so only authorized parties can open them.
$37 · paid once

Ready to Build Forms That Actually Convert?

Start free and keep the five forms for good, or pay once and unlock all of it — unlimited forms, ten team members, AI, CRM, white label and the API. No renewal, ever.

14-day money-backInstant accessNo subscription, ever
File Uploads