---
title: "Long text"
description: "Collect a multiline answer with an optional character limit."
group: "Build forms"
order: 1
type: "reference"
parent: "fields"
keywords:
  - "long_text"
  - "textarea"
  - "maxLength"
updated: "2026-07-14"
---

The long-text field collects a multiline answer and stores it as a string.

## Options

| Option | Type | Default | Behavior |
| --- | --- | --- | --- |
| `maxLength` | `number` | 20,000 character hard cap | Sets a smaller explicit character limit |
| `placeholder` | `string` | none | Shows a hint inside the empty control |
| `required` | `boolean` | `false` | Rejects blank or whitespace-only text |

Fillo trims the answer before storing it. The renderer shows how many characters remain based on the configured `maxLength`, and the server enforces the same limit rather than trusting the browser.

## Add a long-text field

In the dashboard, select **Add block**, choose **Long text**, and set a character limit that matches the question.

```ts
const feedbackField = {
  id: "feedback",
  kind: "long_text",
  label: "What should we improve?",
  maxLength: 2000,
  placeholder: "Tell us what happened",
} as const;
```

## Related

- [Short text](/docs/fields/short-text): Use a single-line control for brief answers.
- [Fields](/docs/fields): Review the complete field catalog.
- [Responses and insights](/docs/responses): Read and export submitted text answers.
