An upload limit is rarely discovered by the person evaluating the tool. It's discovered by a respondent, halfway through a submission, holding a file the form won't take. By then the form is live, the link is out, and the fix is a plan change or a rebuild.
Every number below is quoted from the vendor's own documentation and checked as of 2026-08. Vendors change limits without notice, so re-check the linked page before you build a dependency on any figure.
Six things to check, not one
"Max file size" is only the first of them. The rest are what actually break a live form:
- Per-file cap — the largest single file a respondent can send.
- Files per question — whether one question accepts a set of files or exactly one.
- Who is allowed to upload — some tools require the respondent to hold an account, or to be inside your organization.
- Where the bytes land — the vendor's storage, or a bucket or drive you control.
- Account-wide storage ceiling — a separate, usually non-resetting limit that the per-file cap tells you nothing about.
- What happens at the ceiling — whether the form keeps collecting, stops, or is disabled.
The last two are the ones that surprise teams. A generous per-file cap sitting behind a small account-wide ceiling means the form works beautifully until the day it doesn't.
What the vendors document
As of 2026-08, from each vendor's own documentation:
| Tool | Per-file cap | Files per question | Who can upload |
|---|---|---|---|
| Typeform | 10 MB; staff answered in the linked thread that raising it is not on the roadmap | Not stated in vendor documentation we could confirm | Any respondent |
| Airtable | Up to 5 GB per attachment; 1 GB on the Free plan | Not stated for forms | Any respondent |
| Formspree | 25 MB | Up to 10 files per submission | Any respondent |
| Notion | Under 5 MB on Free; up to 5 GB each on paid plans | Not stated for forms | Any respondent |
| Google Forms | Not stated; the form owner may limit number, type, and size | Set by the form owner | Respondent must sign in to a Google Account |
| Microsoft Forms | Selectable: 10 MB, 100 MB, or 1 GB | Up to 10 files per question | Only people in your organization |
| Jotform | Not stated per file; upload space is an account-wide total | Not stated | Any respondent |
The gotchas the size number hides
A sign-in gate is a bigger filter than a size cap. Google's file-upload documentation states plainly that a respondent must sign in to a Google Account to complete an upload. For an internal survey that's free authentication. For an anonymous intake form, it's the whole funnel.
"Internal only" can mean internal only. Microsoft's documentation states that file upload is available only when the form is set to Only people in my organization can respond or Specific people in my organization can respond. Adding an upload question therefore removes the option to let anyone respond. Client-document collection is exactly the job this rules out.
Account storage is usually a separate, non-resetting limit. Jotform's account-limits documentation distinguishes monthly limits that reset from total limits that don't — and upload space is in the second group. Their published self-serve plans list 100 MB of upload space on Starter, 1 GB on Bronze, 10 GB on Silver, and 100 GB on Gold, as of 2026-08 on the pricing page. The same documentation states that reaching the limit disables your forms on a scheduled date and shows respondents a Form over quota message. That is a live form stopping because of an account total, not because of anything a respondent did wrong.
A large per-file cap can still fill a small base. Airtable documents attachments up to 5 GB, reduced to 1 GB on the Free plan — and separately documents per-base storage of 1 GB on Free and 20 GB on Team. On Free, one accepted attachment can consume the base's entire allowance.
Per-file caps are workspace-wide, not form-specific. Notion documents file-size limits for the workspace (under 5 MB on Free, up to 5 GB each on paid plans). Notion's forms help page doesn't state a separate cap for form uploads, so treat the workspace limit as the one that applies and verify it against a real submission.
Not every tool lets you set a lower limit. Some tools cap the file but give you no way to reject an oversized upload earlier, so respondents discover the rule by failing. Where a size limit isn't configurable, the only working mitigation is stating the rule in the question label.
Fillo's numbers
Fillo takes uploads browser-direct: the respondent's browser sends bytes to storage your workspace connects — Google Drive, Box, or S3-compatible storage such as Amazon S3 or Cloudflare R2. Fillo opens and verifies the upload session and keeps the response plus a reference to each file. Uploads transfer in multipart chunks and are resumable where the provider supports it.
As of 2026-08, from Plans and limits:
| Item | Limit |
|---|---|
| Size of one file | 500 MB by default, configurable from 1 MB to 5,000 MB |
| Files in one field answer | 1 by default, configurable up to 20 |
| Accepted type rules | Up to 50 extensions or MIME patterns |
| Who can upload | Any respondent; no account required |
Two honest qualifications. First, the field limit isn't a promise that every provider, browser, network, proxy, or account quota will accept a 5 GB file — Google Drive, Box, S3/R2, and the host environment keep their own quotas and multipart constraints. Second, an eligible newly provisioned workspace can collect uploads before connecting storage, using Fillo's temporary transit lane: 10 MB per file, 100 MB of active files per workspace, and completed files expire after seven days. That lane exists so a new form can go live the same day, not as a durable destination.
Test the limit before the form is public
Whichever tool you pick, run these four cases against the published form, not the preview:
- a file one byte over the cap, to see the error the respondent actually sees;
- a disallowed file type;
- an interrupted upload followed by a retry;
- the largest file you realistically expect, on a mobile connection.
Then check the account-level storage figure and work out how many months of expected volume it holds.
Related
- Uploads and storage: Connect Google Drive, Box, or S3/R2 and set per-field file rules.
- Plans and limits: The current file, schema, and rate limits with the date they were checked.
- Collect file uploads in your own storage: Add an upload field and connect a provider.
- Upload rejected: Diagnose a refused upload.
- Job application example: Try a live form with a file-upload field, rendered by the same SDK.