# File uploads & signatures

Collect files, documents, and digital signatures from respondents.

## File uploads & signatures

Collect documents, images, and drawn signatures — formbase stores them alongside each submission.

<h2 id="file-upload">File upload</h2>

<p>
  The File Upload field lets respondents attach files to their submission. Type <kbd>/</kbd> on the canvas and pick{' '}
  <strong>File Upload</strong>.
</p>

<p>
  Click the drag handle next to the field and open <strong>Validation</strong> to set its rules:
</p>

<p>
  The field shows respondents what it expects — "Accepted files: .pdf, .png", "Max 5 MB", "2-4 files" — so the rules double as the hint.
</p>

<h2 id="file-validation">File validation rules</h2>

<p>
  Size, count, and type are checked in the browser as the respondent picks a file; a violation shows an inline error and blocks submission.
  Two more limits apply on the server and cannot be raised per field:
</p>

<ul>
  <li>
    <strong>1 GiB per file</strong>, whatever your Max size says.
  </li>
  <li>
    <strong>Your workspace storage quota</strong> — 100 MB on Free, 500 GB on Pro and Business. When the owner is out of room the form
    refuses uploads with "This form is currently unable to accept file uploads," so respondents cannot finish. See{' '}
    <a href="/subscription-billing/limits-quotas">limits &amp; quotas</a>.
  </li>
</ul>

<p>
  Uploaded files are stored with the submission. Open a submission in the <a href="/submissions-analytics/submission-inbox">inbox</a> to
  view or download them.
</p>

<h3 id="files-in-logic">File uploads in conditional logic</h3>

<p>
  A File Upload field offers two logic conditions: <strong>has file</strong> and <strong>has no file</strong>. Use them to show a follow-up
  question only when nothing was attached, or to skip a page once the document is in.
</p>

<h2 id="signatures">Signatures</h2>

<p>
  The Signature field captures a drawn signature. Type <kbd>/</kbd> and pick <strong>Signature</strong> from the slash menu. Respondents
  draw with a mouse, trackpad, or finger. formbase stores the result as an image, viewable and downloadable from the submission inbox.
</p>

> ⚠️ **A signature makes the submission final**
> <p>
>     Any form version that contains a Signature, Payment, or Schedule appointment field turns off{' '}
>     <a href="/submissions-analytics/edit-after-submit">edit after submit</a> for submissions made against it. Respondents cannot reopen and
>     change what they signed.
>   </p>

<h3 id="signatures-in-logic">Signatures in conditional logic</h3>

<p>
  Signature fields support two logic conditions: <strong>is signed</strong> and <strong>is not signed</strong>. Use them to show a
  confirmation page only after a waiver is signed, or to require extra info when a signature is missing.
</p>

<h3 id="signature-privacy">Signatures and partial responses</h3>

<p>
  Signature data is not shown for partial (in-progress) responses: the inbox hides the thumbnail and exports leave the column empty until
  the respondent submits.
</p>

<h3 id="signature-use-cases">When to use signatures</h3>

<p>Signatures work well for any form that needs documented consent or acknowledgment:</p>

<ul>
  <li>Contracts and agreements</li>
  <li>Consent forms (medical, research)</li>
  <li>Liability waivers</li>
  <li>Approval workflows</li>
</ul>

<h2 id="common-patterns">Common patterns</h2>

<ul>
  <li>
    <strong>Job application</strong> — a File Upload for the resume (accept .pdf and .doc, .docx) plus a second upload for the cover letter
  </li>
  <li>
    <strong>Insurance claim</strong> — a File Upload set to <code>image/*</code> for photo evidence, with a high Max files so claimants can
    document the damage properly
  </li>
  <li>
    <strong>Contract signing</strong> — a <a href="/building-forms/documents-block">Documents block</a> holding the contract, then a
    Signature field under it
  </li>
  <li>
    <strong>Event registration</strong> — an ID photo upload (images only, Max files 1) alongside the contact fields
  </li>
</ul>

> ℹ️ **Uploads count toward your storage quota**
> <p>
>     Every file, including signatures and generated PDFs, counts against the workspace owner's storage. Set conservative size limits if you
>     collect large files regularly.
>   </p>

<h2 id="next-steps">Next steps</h2>
<div class="not-prose grid gap-3 sm:grid-cols-2">
  - [Documents block](/building-forms/documents-block) — Hand files to the respondent — the other direction
  - [Payment collection](/building-forms/payment-collection) — Accept Stripe payments in the same form
  - [Submission inbox](/submissions-analytics/submission-inbox) — Download and review uploaded files from responses
  - [Limits & quotas](/subscription-billing/limits-quotas) — Storage and submission allowances per plan
</div>
