Text fields
Text fields
Text fields collect free-form written input from respondents. Use these for names, messages, identifiers, and any other information that doesn’t fit a structured format.Short textA single-line input for brief responses such as names, job titles, or reference numbers. Key options:
- Placeholder — hint text shown before the respondent types
- Character limit — set a minimum and/or maximum character count
- Default value — pre-fill the field with a value respondents can overwrite
- Pattern validation — require the response to match a regular expression
- Rows — control the initial visible height of the text area (2–20 rows)
- Character limit — min/max character enforcement with a live counter displayed to the respondent
- Rich text mode — enable a basic formatting toolbar (bold, italic, lists) for respondent input
[email protected]). Useful for contact forms and sign-ups. Key options:- Block disposable addresses — reject known temporary email domains
- Domain allowlist/blocklist — restrict or exclude specific domains
- Default country — set the initial country code shown in the dial code selector
- Format — choose between international format (e.g., +1 555 000 0000) or local format
- Require valid number — validate that the number is a real dialable number for the selected country
http:// or https://. Key options:- Allowed domains — restrict submissions to URLs from specific domains
- Open in new tab — when displaying submitted responses, open the URL in a new browser tab
- Min / Max — define the acceptable range of values
- Decimal places — set how many decimal places are allowed (0 for integers only)
- Step — control the increment when a respondent uses keyboard arrow keys
- Prefix / Suffix — display a unit label inside the input (e.g.,
$,kg,%)
Choice fields
Choice fields
Choice fields present respondents with a defined set of options. They are ideal for structured data you want to analyze and filter later.Radio buttonsDisplays a vertical or horizontal list of options where only one can be selected. Best for mutually exclusive choices with a small number of options (2–7). Key options:
- Options — add, remove, and reorder choices; assign each a label and an optional value (used in API responses and logic rules)
- Allow “Other” — appends an “Other” option with a text input for custom responses
- Layout — vertical list or horizontal row
- Randomize order — shuffle options on each page load to reduce position bias
- Min / Max selections — require respondents to choose within a range
- Allow “Other” — same as radio buttons
- Select all / Deselect all toggle — adds a convenience button for long lists
- Searchable — adds a search box inside the dropdown for large option lists
- Placeholder — default unselected state label (e.g., “Select a country…”)
- Option groups — group related options under subheadings within the dropdown
- Min / Max selections — enforce selection limits
- Searchable — filter options by typing
- Create new options — allow respondents to type in options that aren’t on the list
Date & time fields
Date & time fields
Date and time fields collect structured temporal information. They render native or custom date/time pickers to ensure consistent formatting.Date pickerOpens an interactive calendar for respondents to select a single date. Key options:
- Date format — choose the display format (MM/DD/YYYY, DD/MM/YYYY, YYYY-MM-DD, etc.)
- Min date / Max date — restrict the selectable range; supports relative values like “today”, “today + 30 days”
- Disable specific dates — block out dates such as weekends or holidays
- Default to today — automatically populate the field with today’s date
- Format — 12-hour (AM/PM) or 24-hour
- Step — control the minute increment (5, 10, 15, 30, or 60 minutes)
- Min time / Max time — restrict selectable times to a window (e.g., business hours only)
- All options from Date picker apply to both start and end dates
- Min duration / Max duration — enforce minimum or maximum span between the two selected dates
- Disable date gaps — require the range to be contiguous (no skipped days)
Date values are stored internally in ISO 8601 format (UTC). The display format you choose only affects how the date appears to respondents and in the FormFlows.ai dashboard — the raw data in exports and the API always uses ISO format.
File & media fields
File & media fields
File and media fields allow respondents to upload content directly within the form. Uploaded files are stored securely and accessible from the submission detail view and via API.File uploadA general-purpose file upload input that accepts any file type by default. Key options:
- Accepted file types — restrict uploads to specific extensions (e.g.,
.pdf,.docx,.csv) or MIME type groups (e.g., images, documents) - Max file size — set a per-file size limit (up to 500 MB on paid plans)
- Max files — allow respondents to upload multiple files up to a defined count
- Drag and drop — enable a drop zone UI in addition to the click-to-browse button
- Preview — show a thumbnail of the uploaded image directly in the form
- Crop tool — prompt respondents to crop the image to a specified aspect ratio after upload
- Min/Max dimensions — enforce pixel width and height constraints
- Canvas background color — set the background color of the signing area
- Pen color — set the default ink color
- Require confirmation checkbox — display a “I agree this is my legal signature” checkbox below the canvas
- Clear button — always visible by default; can be hidden if needed
Advanced fields
Advanced fields
Advanced fields handle specialized input types, scoring, payment collection, and internal data management.RatingDisplays a star-based or numeric rating scale. Key options:Hidden fieldNot shown to respondents. Used to capture metadata or pass values from external sources into submissions. Key options:
- Scale — choose the maximum value (5, 7, or 10)
- Icon — use stars, hearts, thumbs, or numbered circles
- Labels — add text labels to the lowest and highest values (e.g., “Poor” and “Excellent”)
- Min / Max — define the endpoints of the scale
- Step — set the increment between selectable values
- Show value label — display the current selected value above the thumb
- Prefix / Suffix — add a unit label to the displayed value
- Amount — set a fixed price or derive it from a calculated field
- Currency — select from all currencies supported by your Stripe account
- Payment description — text shown on the respondent’s bank statement
- Require billing address — collect a full billing address with the payment
Payment fields require a connected Stripe account. Go to Settings → Integrations → Stripe to connect your account before adding a Payment field to a form.
- Default value — set a static value, or use a merge variable to populate it dynamically from URL query parameters (e.g.,
?utm_source=newsletter→{{utm_source}}) - Pre-fill from URL — automatically read the value from a matching query parameter in the form’s URL
- Formula — build an expression using field references (e.g.,
{price} * {quantity}), arithmetic operators, and built-in functions such asSUM(),ROUND(),IF(), andCONCAT() - Display to respondent — toggle whether the calculated value is shown on the form
- Output format — format the result as a number, currency, or text string
Common field options
Every field type, regardless of category, supports the following options in its settings panel:| Option | Description |
|---|---|
| Label | The question or prompt displayed above the field |
| Description | Optional helper text shown below the label |
| Required | Prevents form submission if the field is empty |
| Field ID | A unique identifier used in the API, webhooks, and conditional logic rules |
| Conditional visibility | Show or hide this field based on other responses |
Next steps
Conditional logic
Control which fields appear based on a respondent’s answers.
Create a form
Start building a new form from scratch or with AI.
