---
title: "File upload limits across form tools"
description: "A vendor-documented comparison of per-file caps, upload gates, and storage ceilings — and what to check before a respondent hits one mid-submission."
order: 25
type: "guide"
topic: "Evaluating tools"
tags:
  - "file upload"
  - "limits"
  - "storage"
  - "comparison"
updated: "2026-08-06"
---

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:

1. **Per-file cap** — the largest single file a respondent can send.
2. **Files per question** — whether one question accepts a set of files or exactly one.
3. **Who is allowed to upload** — some tools require the respondent to hold an account, or to be inside your organization.
4. **Where the bytes land** — the vendor's storage, or a bucket or drive you control.
5. **Account-wide storage ceiling** — a separate, usually non-resetting limit that the per-file cap tells you nothing about.
6. **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](https://community.typeform.com/build-your-typeform-7/any-plans-for-a-slightly-increased-file-upload-limit-4276) | 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](https://support.airtable.com/docs/attachment-field) | Up to 5 GB per attachment; 1 GB on the Free plan | Not stated for forms | Any respondent |
| [Formspree](https://help.formspree.io/articles/form-and-project-settings/system-limits) | 25 MB | Up to 10 files per submission | Any respondent |
| [Notion](https://www.notion.com/help/images-files-and-media) | Under 5 MB on Free; up to 5 GB each on paid plans | Not stated for forms | Any respondent |
| [Google Forms](https://support.google.com/docs/answer/15473134) | 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](https://support.microsoft.com/en-us/forms/add-questions-that-allow-for-file-uploads-in-microsoft-forms) | Selectable: 10 MB, 100 MB, or 1 GB | Up to 10 files per question | Only people in your organization |
| [Jotform](https://www.jotform.com/help/408-understanding-your-account-usage-and-limits/) | 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](https://www.jotform.com/pricing/). 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](https://www.notion.com/help/forms) 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](/docs/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](/docs/uploads): Connect Google Drive, Box, or S3/R2 and set per-field file rules.
- [Plans and limits](/docs/limits): The current file, schema, and rate limits with the date they were checked.
- [Collect file uploads in your own storage](/guides/collect-file-uploads): Add an upload field and connect a provider.
- [Upload rejected](/docs/troubleshooting/upload-rejected): Diagnose a refused upload.
- [Job application example](/examples#job-application): Try a live form with a file-upload field, rendered by the same SDK.
