---
title: "Linear scale"
description: "Collect an integer on a labeled range, including standard NPS and CSAT scales."
group: "Build forms"
order: 11
type: "reference"
parent: "fields"
keywords:
  - "linear_scale"
  - "NPS"
  - "CSAT"
  - "minLabel"
  - "maxLabel"
updated: "2026-07-14"
---

The linear-scale field collects one integer between a configured minimum and maximum.

## Options

| Option | Type | Default | Behavior |
| --- | --- | --- | --- |
| `min` | `number` | `1` | Sets the first step |
| `max` | `number` | `10` | Sets the last step |
| `minLabel` | `string` | none | Explains the low end |
| `maxLabel` | `string` | none | Explains the high end |
| `insightsMetric` | `nps` or `csat` | none | Selects a standard score in Insights |

NPS requires a 0-to-10 scale; CSAT requires 1 to 5. The builder applies those bounds when you pick the matching insight metric. The answer is stored as an integer.

## Add a linear scale

In the dashboard, select **Add block**, choose **Linear scale**, and add short end labels that explain what the numbers mean.

```ts
const npsField = {
  id: "nps",
  kind: "linear_scale",
  label: "How likely are you to recommend us?",
  min: 0,
  max: 10,
  minLabel: "Not likely",
  maxLabel: "Very likely",
  insightsMetric: "nps",
  required: true,
} as const;
```

## Related

- [Build an NPS survey](/guides/build-an-nps-survey): Add an answer-dependent follow-up to the standard scale.
- [Rating](/docs/fields/rating): Use a compact star-style rating.
- [Logic](/docs/logic): Route promoters and detractors to different follow-ups.
