File Uploads

Accept file attachments in your forms with secure cloud storage.

File uploads require Pro or higher.

Supported file types

The following file types are accepted:

Images

  • JPEG (.jpg, .jpeg)
  • PNG (.png)
  • GIF (.gif)
  • WebP (.webp)

Documents

  • PDF (.pdf)
  • Word (.doc, .docx)
  • Excel (.xls, .xlsx)
  • Text (.txt)
  • CSV (.csv)

File size limits

PlanMax file size
FreeNot available
Pro10 MB per file
Business25 MB per file

Adding file upload fields

In the form builder, add a "File Upload" field type. You can configure:

  • Accepted file types (restrict to specific formats)
  • Maximum file size
  • Required/optional
  • Multiple files (allow more than one upload)

Upload API

Files are uploaded via multipart form data:

Bash
POST /api/forms/{formId}/upload
Content-Type: multipart/form-data

file: (binary)
questionId: "file_upload_field_id"

Response:

JSON
{
  "success": true,
  "upload": {
    "id": "upload_abc123",
    "filename": "document.pdf",
    "size": 1048576,
    "type": "application/pdf"
  }
}

Accessing uploaded files

Uploaded files are stored securely and accessible only to form owners:

Bash
GET /api/forms/{formId}/upload?uploadId={uploadId}

Returns a signed URL valid for 1 hour:

JSON
{
  "url": "https://storage.favform.com/...",
  "filename": "document.pdf",
  "type": "application/pdf",
  "size": 1048576
}

Storage and security

  • Files are stored in encrypted cloud storage
  • Access requires authentication as the form owner
  • Signed URLs expire after 1 hour
  • Files are automatically deleted when responses are deleted
  • Data retention policies apply to file uploads