File Uploads
Accept file attachments in your forms with secure cloud storage.
Supported file types
The following file type categories are available in the form builder:
Images
- JPEG (.jpg, .jpeg)
- PNG (.png)
- GIF (.gif)
- WebP (.webp)
- SVG (.svg)
Documents
- PDF (.pdf)
- Word (.doc, .docx)
Spreadsheets
- Excel (.xls, .xlsx)
- CSV (.csv)
Presentations
- PowerPoint (.ppt, .pptx)
Archives
- ZIP (.zip)
- RAR (.rar)
- 7-Zip (.7z)
Media
- Audio (MP3, WAV, OGG)
- Video (MP4, WebM, MOV)
File size limits
| Plan | Max file size |
|---|---|
| Free | Not available |
| Pro | 10 MB per file |
| Business | 25 MB per file |
Form Builder Configuration
When adding a File Upload block in the form builder, you can configure the following settings:
Basic Settings
Max files
Control how many files respondents can upload per question. Options: 1, 2, 3, 5, 10, or 20 files.
Max file size
Set the maximum size for each uploaded file. Options: 1 MB, 2 MB, 5 MB, 10 MB, 25 MB, 50 MB, or 100 MB. Note: Actual limits may be restricted by your plan.
Advanced Settings
Allowed file types
Select which file type categories to accept. Toggle categories on/off:
- Images (JPG, PNG, GIF, WebP, SVG)
- Documents (PDF, DOC, DOCX)
- Spreadsheets (XLS, XLSX, CSV)
- Presentations (PPT, PPTX)
- Archives (ZIP, RAR, 7Z)
- Audio (MP3, WAV, OGG)
- Video (MP4, WebM, MOV)
Custom file types
Add custom MIME types or file extensions beyond the predefined categories. Enter comma-separated values like .sketch, .fig, application/json.
Upload API
Files are uploaded via multipart form data:
POST /api/forms/{formId}/upload
Content-Type: multipart/form-data
file: (binary)
questionId: "file_upload_field_id"Response:
{
"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:
GET /api/forms/{formId}/upload?uploadId={uploadId}Returns a signed URL valid for 1 hour:
{
"url": "https://storage.favform.com/...",
"filename": "document.pdf",
"type": "application/pdf",
"size": 1048576
}FileUploadSettings schema
The file upload configuration is stored in the question's fileUploadSettings object:
interface FileUploadSettings {
maxFiles?: number; // Max files allowed (default: 1)
maxSizeMB?: number; // Max size per file in MB (default: 10)
allowedTypes?: string[]; // MIME types or extensions
}
// Example configuration
{
"fileUploadSettings": {
"maxFiles": 5,
"maxSizeMB": 25,
"allowedTypes": [
"image/*",
"application/pdf",
".sketch"
]
}
}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
- File type validation occurs both client-side and server-side