Field Types Reference
Field Types Reference
BuoyForms includes 29 field types organized into categories. This guide explains each field type, when to use it, configuration options, and how it compares to alternatives.
Quick Reference
| Field | Category | Best For |
|---|---|---|
| Text Input | Basic | Names, short answers, single-line responses |
| Text Area | Basic | Comments, feedback, detailed answers |
| Basic | Contact forms, lead capture | |
| Number | Basic | Quantities, ages, amounts |
| Phone | Basic | Contact info with country formatting |
| URL | Basic | Website links, portfolio URLs |
| Checkbox | Basic | Terms acceptance, opt-ins |
| Radio Group | Selection | Single choice from 2–7 options |
| Checkbox Group | Selection | Multiple choices from a list |
| Select Dropdown | Selection | Single choice from 8+ options |
| Picture Choice | Selection | Visual selection (products, styles) |
| Scale | Rating | Agreement, satisfaction (1–5, 1–7) |
| Slider | Rating | Continuous values (budget, percentage) |
| Date | Date/Time | Appointments, birthdays, deadlines |
| Date & Time | Date/Time | Scheduling, event registration |
| Time | Date/Time | Office hours, time preferences |
| File Upload | File | Documents, images, attachments |
| Signature | Advanced | Contracts, consent, approvals |
| Rating | Rating | Star ratings, reviews |
| NPS | Scoring | Customer loyalty measurement |
| CSAT | Scoring | Customer satisfaction (1–5) |
| CES | Scoring | Customer effort measurement (1–7) |
| Likert Scale | Advanced | Multi-statement agreement rating |
| Likert Score | Advanced | Single-statement scored rating |
| Grid / Matrix | Advanced | Multi-row, multi-column questions |
| Ranking | Advanced | Priority ordering, preference ranking |
| Rich Text | Advanced | Formatted text, styled responses |
| Heading | Layout | Section titles, visual dividers |
| Calculation | Advanced | Computed scores, totals, averages |
Basic Input Fields
Text Input
Single-line text field for short answers.
When to use: Names, titles, company names, short answers — any response that fits on one line.
| Option | Type | Default | Description |
|---|---|---|---|
| Max Length | number | 255 | Maximum character count |
| Min Length | number | — | Minimum characters required |
| Pattern | regex | — | Validate format (e.g., zip codes, order numbers) |
| Autocomplete | string | — | Browser autofill hint (name, organization, etc.) |
| Placeholder | string | — | Hint text shown inside the empty input |
Conditional logic examples
- Show "Company name" field when "Are you representing a company?" equals "Yes"
- Show "Other, please specify" when a radio field equals "Other"
Text Area
Multi-line text field for longer responses.
When to use: Comments, feedback, detailed descriptions, "tell us more" questions.
| Option | Type | Default | Description |
|---|---|---|---|
| Rows | number | 4 | Visible height (lines) |
| Max Length | number | 2000 | Maximum character count |
| Min Length | number | — | Minimum characters required |
Text Input vs. Text Area — when to use which
| Text Input | Text Area | |
|---|---|---|
| Lines | Single line | Multiple lines |
| Best for | Names, short answers | Comments, feedback |
| Default limit | 255 chars | 2,000 chars |
| Use when | Answer is <50 words | Answer is 50+ words |
Email address field with built-in format validation.
When to use: Contact forms, lead capture, account creation, follow-up requests.
| Option | Type | Default | Description |
|---|---|---|---|
| Allow Multiple | boolean | false | Accept comma-separated email addresses |
Number
Numeric input with optional min/max bounds.
When to use: Quantities, ages, budgets, counts, measurements.
| Option | Type | Default | Description |
|---|---|---|---|
| Min | number | — | Minimum allowed value |
| Max | number | — | Maximum allowed value |
| Step | number | 1 | Increment value |
| Allow Decimal | boolean | false | Permit fractional values |
Number vs. Scale vs. Slider — decision guide
| Number | Scale | Slider | |
|---|---|---|---|
| Input method | Type a number | Click a point | Drag a handle |
| Best for | Exact values | Discrete ratings | Approximate values |
| Range | Unlimited | 2–10 points | Any range |
| Example | "How many employees?" | "Rate 1–5" | "Budget: $0–$10,000" |
Rule of thumb: Use Number when you need precision, Scale for ratings, and Slider for approximate ranges.
Phone
Phone number field with international formatting.
When to use: Contact forms, appointment booking, support requests.
| Option | Type | Default | Description |
|---|---|---|---|
| Default Country | string | US | Pre-selected country code |
| Format | enum | international | international, national, or E.164 |
| Allowed Countries | list | all | Restrict to specific country codes |
URL
Website link field with protocol validation.
When to use: Portfolio links, company websites, social media profiles.
| Option | Type | Default | Description |
|---|---|---|---|
| Require Protocol | boolean | true | Enforce http:// or https:// prefix |
| Allowed Protocols | list | http, https | Restrict to specific protocols |
Checkbox (Single)
Single true/false toggle.
When to use: Terms acceptance, opt-ins, consent acknowledgment, yes/no questions.
| Option | Type | Default | Description |
|---|---|---|---|
| Default Checked | boolean | false | Start checked or unchecked |
Selection Fields
Radio Group
Single choice from a list of options — all options visible at once.
When to use: 2–7 mutually exclusive options where all choices should be visible.
| Option | Type | Default | Description |
|---|---|---|---|
| Options | list | — | Each with a label (display) and value (submitted) |
| Layout | enum | vertical | vertical, horizontal, or card grid |
| Allow Other | boolean | false | Add a free-text "Other" option |
| Cards Per Row | number | 3 | Columns in card grid layout (2–5) |
| Randomize | boolean | false | Shuffle option order to reduce bias |
Radio vs. Select Dropdown vs. Likert — comparison
Radio vs. Select Dropdown:
| Radio Group | Select Dropdown | |
|---|---|---|
| Options visible | All at once | One at a time (click to expand) |
| Best for | 2–7 options | 8+ options |
| Mobile experience | Easy to tap | Requires two taps |
| Visual weight | Takes more space | Compact |
Radio vs. Likert Scale:
| Radio Group | Likert Scale | |
|---|---|---|
| Questions | One question | Multiple statements |
| Options | Custom labels | Agreement scale |
| Best for | "Which do you prefer?" | "Rate each statement" |
Checkbox Group
Multiple choices from a list — respondents can select more than one.
When to use: "Select all that apply" questions, interest lists, multi-select filters.
| Option | Type | Default | Description |
|---|---|---|---|
| Options | list | — | Labels and values |
| Layout | enum | vertical | vertical, horizontal, or card grid |
| Allow Other | boolean | false | Free-text additional option |
| Min Selections | number | — | Minimum required choices |
| Max Selections | number | — | Maximum allowed choices |
| Randomize | boolean | false | Shuffle to reduce order bias |
Select Dropdown
Single or multi-select dropdown menu.
When to use: Long option lists where showing all choices would be overwhelming — countries, departments, product categories.
| Option | Type | Default | Description |
|---|---|---|---|
| Options | list | — | Labels and values |
| Allow Multiple | boolean | false | Multi-select mode |
| Searchable | boolean | auto | Search box for long lists (auto-enabled at 10+ options) |
| Randomize | boolean | false | Shuffle option order |
Picture Choice
Image-based selection where each option is a visual card.
When to use: Product selection, style preferences, visual surveys, mood boards.
| Option | Type | Default | Description |
|---|---|---|---|
| Options | list | — | Label + image URL for each choice |
| Multi-Select | boolean | false | Allow multiple selections |
| Columns | number | 3 | Cards per row (2, 3, or 4) |
Rating & Scoring Fields
Scale
Discrete numeric scale with labeled endpoints.
When to use: Agreement levels, satisfaction, likelihood — any question where the answer is a point on a fixed scale.
| Option | Type | Default | Description |
|---|---|---|---|
| Min | number | 1 | Scale start |
| Max | number | 5 | Scale end |
| Step | number | 1 | Increment between points |
| Labels | list | — | Custom text for each point |
| Orientation | enum | horizontal | horizontal or vertical |
Scale vs. NPS vs. CSAT vs. CES — which scoring field to use
| Scale | NPS | CSAT | CES | |
|---|---|---|---|---|
| Range | Custom | Fixed 0–10 | Fixed 1–5 | Fixed 1–7 |
| Scoring | None | Detractor/Passive/Promoter | Satisfaction % | Effort score |
| Analytics | Basic | NPS score calculation | CSAT score | CES score |
| Use when | Generic rating | Loyalty measurement | Satisfaction measurement | Effort measurement |
Use Scale when none of the specialized scoring fields fit your question.
Slider
Drag-handle input for continuous numeric values.
When to use: Budget ranges, percentage estimates, approximate values where exact precision isn't needed.
| Option | Type | Default | Description |
|---|---|---|---|
| Min | number | 0 | Range start |
| Max | number | 100 | Range end |
| Step | number | 1 | Snap increment |
| Show Value | boolean | true | Display current number |
| Show Ticks | boolean | false | Show increment marks |
Rating (Stars)
Visual star (or heart/circle) rating.
When to use: Product reviews, service ratings, experience feedback.
| Option | Type | Default | Description |
|---|---|---|---|
| Max Rating | number | 5 | Scale size (3–10) |
| Icon | enum | star | star, heart, or circle |
| Allow Half | boolean | false | Enable half-star ratings |
NPS (Net Promoter Score)
Industry-standard 0–10 loyalty measurement.
When to use: Measuring customer loyalty, tracking brand advocacy, benchmarking against industry standards.
| Option | Type | Default | Description |
|---|---|---|---|
| Low Label | string | "Not at all likely" | Left endpoint text |
| High Label | string | "Extremely likely" | Right endpoint text |
| Layout | enum | inline | inline (horizontal) or stacked (vertical) |
How NPS scoring works
Respondents rate 0–10. Scores are categorized:
| Score | Category | Meaning |
|---|---|---|
| 0–6 | Detractors | Unhappy, may damage brand |
| 7–8 | Passives | Satisfied but not enthusiastic |
| 9–10 | Promoters | Loyal advocates who drive growth |
NPS = % Promoters − % Detractors (range: −100 to +100)
A positive NPS is good. Above 50 is excellent. Above 70 is world-class.
CSAT (Customer Satisfaction)
1–5 satisfaction rating for specific interactions.
When to use: Post-purchase feedback, support ticket follow-up, feature satisfaction.
| Option | Type | Default | Description |
|---|---|---|---|
| Low Label | string | "Very unsatisfied" | Left endpoint |
| High Label | string | "Very satisfied" | Right endpoint |
| Layout | enum | inline | inline or stacked |
CES (Customer Effort Score)
1–7 effort rating for process evaluation.
When to use: Measuring how easy it was to complete a task — onboarding, checkout, support resolution.
| Option | Type | Default | Description |
|---|---|---|---|
| Low Label | string | "Very difficult" | Left endpoint |
| High Label | string | "Very easy" | Right endpoint |
| Layout | enum | inline | inline or stacked |
Date & Time Fields
Date
Calendar date picker.
When to use: Birthdays, deadlines, appointment dates, event dates.
| Option | Type | Default | Description |
|---|---|---|---|
| Min Date | date | — | Earliest selectable date |
| Max Date | date | — | Latest selectable date |
| Disable Weekends | boolean | false | Block Saturday/Sunday |
| Date Format | string | yyyy-MM-dd | Display format |
Date & Time
Combined date and time picker.
When to use: Appointment scheduling, event registration, delivery windows.
| Option | Type | Default | Description |
|---|---|---|---|
| Min DateTime | datetime | — | Earliest selectable moment |
| Max DateTime | datetime | — | Latest selectable moment |
| Include Seconds | boolean | false | Show seconds selector |
| Timezone Hint | string | — | Display timezone context ("All times in EST") |
Time
Time-only picker.
When to use: Office hours preferences, recurring schedule times, time-of-day questions.
| Option | Type | Default | Description |
|---|---|---|---|
| Min Time | time | — | Earliest selectable time |
| Max Time | time | — | Latest selectable time |
| Step Minutes | number | 5 | Minute increment (1–60) |
| Time Format | enum | 12h | 12-hour or 24-hour |
File & Signature Fields
File Upload
Let respondents attach files to their submission.
When to use: Resume collection, document submission, image uploads, supporting evidence.
| Option | Type | Default | Description |
|---|---|---|---|
| Max Files | number | 1 | Files allowed (1–10) |
| Max File Size | number | 5MB | Per-file size limit |
| Accepted Types | list | all | Restrict formats (e.g., .pdf, .jpg, .png) |
Signature
Capture a handwritten or typed signature.
When to use: Contracts, consent forms, approval workflows, waivers.
| Option | Type | Default | Description |
|---|---|---|---|
| Pen Color | color | #000000 | Ink color for drawn signatures |
| Background Color | color | #ffffff | Canvas background |
| Stroke Width | range | 1–3 | Min/max pen thickness |
| Allow Typed | boolean | true | Let users type their name |
| Typed Fonts | list | — | Cursive font options for typed signatures |
Advanced Fields
Likert Scale
Rate agreement across multiple statements on the same scale.
When to use: Employee surveys, course evaluations, research questionnaires — any time you need consistent comparison across multiple items.
| Option | Type | Default | Description |
|---|---|---|---|
| Items | list | — | Statements to rate |
| Scale Type | enum | 5-point | 3-point, 5-point, 7-point, or custom |
| Labels | list | auto | Scale point names (auto-populated from scale type) |
| Show Labels | boolean | true | Display text labels above each point |
Likert Scale vs. Likert Score
| Likert Scale | Likert Score | |
|---|---|---|
| Statements | Multiple | Single |
| Output | Rating per statement | Single scored response |
| Best for | "Rate each of these 5 items" | "How much do you agree?" |
| Analytics | Per-item breakdown | Aggregate score |
Use Likert Scale when you have multiple related statements. Use Likert Score for a single weighted question.
Likert Score
Single-statement Likert with explicit scoring per option.
When to use: Weighted agreement questions, scored assessments, polls where each option has a point value.
| Option | Type | Default | Description |
|---|---|---|---|
| Options | list | — | Each with label and score value |
| Orientation | enum | horizontal | horizontal or vertical |
Grid / Matrix
Multi-row, multi-column question grid.
When to use: Comparing multiple items across the same criteria, course evaluations, product feature ratings.
| Option | Type | Default | Description |
|---|---|---|---|
| Rows | list | — | Items to evaluate |
| Columns | list | — | Rating criteria |
| Variant | enum | radio | radio (one per row), checkbox (multiple), or rating (stars) |
| Require All Rows | boolean | false | Force a response for every row |
Grid vs. Likert Scale
| Grid | Likert Scale | |
|---|---|---|
| Columns | Custom labels | Agreement scale |
| Variants | Radio, checkbox, rating | Scale only |
| Best for | Custom criteria comparison | Standard agreement rating |
| Example | "Rate each feature: Useful / Easy / Important" | "Rate each statement: Disagree to Agree" |
Ranking
Drag-to-reorder priority ranking.
When to use: Feature prioritization, preference ordering, "rank these from most to least important."
| Option | Type | Default | Description |
|---|---|---|---|
| Items | list | — | Things to rank |
| Randomize Initial Order | boolean | false | Prevent position bias |
Rich Text
WYSIWYG formatted text editor.
When to use: When you need respondents to format their answers with bold, italic, links, or lists.
| Option | Type | Default | Description |
|---|---|---|---|
| Toolbar | list | all | Formatting buttons to show (bold, italic, lists, links, etc.) |
| Min Length | number | — | Minimum character count |
| Max Length | number | — | Maximum character count |
Heading
Display-only section title — not a data-collecting field.
When to use: Breaking long forms into visual sections, adding instructions, creating visual hierarchy.
| Option | Type | Default | Description |
|---|---|---|---|
| Text | string | — | Heading content |
| Level | enum | h2 | h1, h2, h3, or h4 |
| Alignment | enum | left | left, center, or right |
| Subtext | string | — | Description below the heading |
| Link | url | — | Optional clickable URL |
Calculation
Computed field that derives its value from other fields — respondents see the result but can't edit it.
When to use: Order totals, weighted scores, BMI calculators, quiz scoring.
| Option | Type | Default | Description |
|---|---|---|---|
| Formula | expression | — | Expression referencing other fields |
| Precision | number | 2 | Decimal places (0–4) |
| Prefix | string | — | Display prefix (e.g., "$") |
| Suffix | string | — | Display suffix (e.g., "kg") |
| Show Formula | boolean | false | Display the formula to respondents |
| Fallback Value | string | — | Default when calculation can't resolve |
Formula examples
// Sum of multiple fields
{field_price} * {field_quantity}
// Weighted average
({field_q1} * 0.3) + ({field_q2} * 0.5) + ({field_q3} * 0.2)
// Conditional scoring
{field_nps} >= 9 ? "Promoter" : ({field_nps} >= 7 ? "Passive" : "Detractor")Choosing the Right Field Type
For measuring satisfaction
Net Promoter Score — "How likely are you to recommend us?"
Best for: Overall loyalty, benchmarking, long-term relationship tracking. Scale: 0–10. Produces a score from −100 to +100.
Customer Satisfaction — "How satisfied are you?"
Best for: Specific interaction feedback, post-support surveys. Scale: 1–5. Produces a satisfaction percentage.
Customer Effort Score — "How easy was this?"
Best for: Process optimization, onboarding, checkout, support flows. Scale: 1–7. Measures friction points.
Star Rating — "Rate your experience"
Best for: Product reviews, service quality, general feedback. Scale: 1–5 stars (customizable). Simple and universally understood.
For collecting choices
| If you need... | Use | Why |
|---|---|---|
| One choice, few options (2–7) | Radio Group | All options visible, easy to scan |
| One choice, many options (8+) | Select Dropdown | Compact, searchable |
| Multiple choices | Checkbox Group | "Select all that apply" |
| Visual selection | Picture Choice | Images speak louder than words |
| Ordered preference | Ranking | Forces relative priority |
For collecting text
| If you need... | Use | Why |
|---|---|---|
| Short answer (<50 words) | Text Input | Clean, single-line |
| Long answer (50+ words) | Text Area | Multi-line, more space |
| Formatted answer | Rich Text | Bold, lists, links |
| Email address | Built-in validation | |
| Website link | URL | Protocol validation |
For assessments and scoring
| If you need... | Use | Why |
|---|---|---|
| Rate multiple statements | Likert Scale | Consistent comparison across items |
| Multi-dimensional comparison | Grid / Matrix | Rows × columns matrix |
| Computed results | Calculation | Auto-calculates from other fields |
| Single weighted question | Likert Score | Point values per option |