Field types
Forms ships 23 field types — split into inputs (collect an answer from the respondent), display widgets (lay out a branded document), and a container for column layouts. Pick the right one per question and Forms takes care of the input control, validation, and how the answer appears in the response table and PDF.
Inputs
These collect data. Every input shows up as a column in the responses table and gets a row in the printed PDF.
| Type | What it does |
|---|---|
Short text | A single-line text input. Use it for names, titles, and any answer that fits on one line. Label supports rich text. |
Long text | A multi-line textarea. Use it for descriptions, comments, and longer responses. Label supports rich text. |
Email | Validates that the answer looks like an email address before accepting the submission. |
Phone | A phone-number input. Accepts most common formats; no strict validation by default. |
Number | Numeric input. Use it for ages, counts, prices, and anything that should arrive as a number. |
Multiple choice | Pick exactly one option from a list. Renders as radio buttons on the public page. |
Checkboxes | Pick any number of options from a list. Renders as checkboxes on the public page. |
Dropdown | Pick exactly one option from a list, but as a compact select menu instead of radios. |
Date | A date picker. Submitted as an ISO date (YYYY-MM-DD). |
File upload | File upload (max 10 MB). Allowlist of common types; the file goes straight to Vercel Blob and the response stores its public URL. |
Signature | Draw a signature on a canvas, or type a name to render it in a script font. Submitted as a base64 PNG (max 150 KB), thumbnailed in responses and embedded in PDFs. |
Document widgets
These are for layout — header bars, images, line-item tables, totals boxes, comparison cards, dividers. They live alongside your inputs in the editor but collect no data. Most shine in Document-style PDFs, where the form is the printed document.
| Type | What it does |
|---|---|
Section heading | Not an input. Renders as a styled heading on the public page and in the PDF. Label supports rich text. |
Paragraph text | Not an input. A paragraph block for clauses, instructions, terms — content lives in the label and renders with whitespace preserved. |
Header bar | Branded full-width bar at the top of a document. Uses your form's brand color; can repeat on every page of the PDF. Always lives at the top level. |
Image | Inline image — logo, photo, or signature flourish. Uploaded to Vercel Blob, sized inline in the PDF. |
Table | Static line-item table with per-column formulas (e.g. @qty * @unitPrice). Hand-written safe parser — no eval. Renders identically in the editor and the PDF. |
Totals | Half-width totals box for subtotals, tax, deposit, balance — with an emphasis row treatment for the headline number (TOTAL CONTRACT PRICE, etc). |
Card | GOOD / BETTER / BEST comparison card. Designed to live inside a 3-column Columns widget; one card per slot with title, price, bullet list and accent. |
Page break | Document-mode utility. Forces a new page in the PDF; no-op on the public web form. |
Spacer | Document-mode utility. Inserts adjustable vertical whitespace. |
Divider | Document-mode utility. Draws a horizontal rule across the page. |
Source exhibit | Cited evidence card. Paste a URL, capture a frozen snapshot, and ship a labeled exhibit (with optional pull quote) that links back to the source. The snapshot is pinned at capture time, so the signed PDF stays auditable even if the source page later changes. |
Containers
Containers hold other widgets in slots. Use them to put two inputs side-by-side, or three Cards in a comparison row.
| Type | What it does |
|---|---|
Columns | Container widget. Splits a row into 2 or 3 slots and lets you drop any other widget into each slot. Only allowed at the top level. |
Choosing a type
When in doubt for an input, pick Short text. It accepts anything, and you can switch to a stricter type (Email, Number) later if respondents enter messy data. For document layout, start with a Header bar and build downward — Columns to split a row, a Table for line items, a Totals box at the bottom, Cards for package comparisons.
Next: Documents & PDFs — how these field types print, brand, and ship.