Components / Inputs / Text fieldOpen in Figma
Text field
ReadyA single-line input for short free text.
When to use
- The answer is short free text: a name, a number, a reference.
- One answer per field.
When not to use
| If people need to | Use |
|---|---|
| Choose one of a known set | Dropdown |
| Enter a date or time | Date field |
| Choose people, sites or items | Picker field |
| Switch something on or off | Switch |
Anatomy
Valuebadge
Helper or error message- Label · required
- Required mark · when the field must be filled
- Container · required
- Value or hint text · required
- Icon · optional, right side only
- Helper or error message · optional
Variants
| Variant | Purpose | Figma |
|---|---|---|
| Default | Any short text | Designed |
| With icon | An icon on the right that shows the kind of value or opens a picker | Designed |
| With prefix | A fixed part before the value, such as a country code | Designed |
| Multi-line | Descriptions and longer answers; starts 112 tall | Designed |
| Notes | A free note on a record, such as notes on a training session: Notes yellow fill, otherwise the same as multi-line | Designed |
States
| State | When | What changes | Figma |
|---|---|---|---|
| Empty | Nothing typed yet | Hint text in Hint grey | Designed |
| Filled | A value is entered | Value in Ink | Designed |
| Focus | The field is being typed in | Border turns Hint grey | Temporary rule |
| Error | The value can't be accepted | Red border and a red message below | Temporary rule |
| Disabled | The field can't be changed now | Disabled fill, text in Hint grey | Temporary rule |
Behaviour
- Tapping anywhere on the container focuses the field and opens the keyboard.
- Errors show after the person leaves the field or presses the main action, never while typing.
- The field keeps its height when an error appears; the message pushes content below it down.
Phone and tablet
| Phone | Tablet | |
|---|---|---|
| Label to field | 8 | 12 |
| Field width | Full width of the section | Two fields side by side when they belong together |
Content
| Part | Rule |
|---|---|
| Label | A noun in sentence case, no colon, two or three words |
| Hint text | An example of the expected value, not an instruction |
| Error message | Says what to fix in one line, starting with a verb |
Do and don't
Hint text
Valuekeyboard_arrow_down
DoKeep every field on a screen the same height.
Hint text
Valuekeyboard_arrow_down
Don'tMix heights or border colours.
Hint text
DoKeep the label above the field at all times.
Label as hint text
Don'tUse hint text as the label. It disappears once typing starts.
Related
Specs
Click a value to copy it.
| Part | Property | Phone | Tablet |
|---|---|---|---|
| Container | Height | ||
| Corners | |||
| Border | |||
| Fill | |||
| Padding left and right | |||
| Label | Type | ||
| Colour | |||
| Space below | |||
| Required mark | Colour | ||
| Value | Type | ||
| Colour | |||
| Hint text | Colour | ||
| Icon | Size | ||
| Helper text | Type | ||
| Colour | |||
| Multi-line | Starting height | ||
| Notes | Fill |
Accessibility
- Every field has a visible label; hint text never replaces it.
- The whole container is the touch area, 56 tall.
- Errors are written out, not shown by the red border alone.
- Value text on the Field fill scores 9.0 for readability. Hint text scores 3.1, so it never carries required information.
Changes
| Date | Change |
|---|---|
| 26 Oct 2026 | Height set to 56 everywhere; border light grey; corners 8. |
| 26 Oct 2026 | Focus, error and disabled added as temporary rules until designed in Figma. |