> ## Documentation Index
> Fetch the complete documentation index at: https://docs.feedal.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Rating questions

> Star rating, Number scale, Emoji rating, and Opinion scale — configuration options for every rating type.

Rating questions collect quantitative feedback on a numeric or symbolic scale. There are four types, each suited to a different kind of measurement.

***

## Star rating

Respondents click stars to rate something. The most familiar rating format — best for product ratings, satisfaction surveys, or anything where star ratings are culturally understood.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/feedal/images/building-forms-questions-star-rating.png" alt="Star rating question in the canvas" />

| Field            | Type            | Default      | Notes                                                         |
| ---------------- | --------------- | ------------ | ------------------------------------------------------------- |
| `max_stars`      | Number          | `5`          | Total number of stars (1–10)                                  |
| `allow_half`     | Boolean         | `false`      | Allows selecting half-star increments                         |
| `default_rating` | Number          | `0`          | Pre-selected rating (0 = none, up to `max_stars`)             |
| `icon_style`     | Text            | `★`          | Icon character used for the stars                             |
| `active_color`   | Color           | `#facc15`    | Color of selected stars                                       |
| `inactive_color` | Color           | `#e5e7eb`    | Color of unselected stars                                     |
| `dynamic_labels` | Boolean / Array | `null` (off) | Per-star labels (array length = `max_stars`)                  |
| `label_low`      | Text            | —            | Label shown at the low end (when dynamic labels are off)      |
| `label_high`     | Text            | —            | Label shown at the high end (when dynamic labels are off)     |
| `label_position` | Enum            | `bottom`     | `top` or `bottom` — where labels appear relative to the stars |

***

## Number scale

Respondents click a number on a scale. Supports multiple visual styles and colour templates.

| Field            | Type            | Default      | Notes                                                        |
| ---------------- | --------------- | ------------ | ------------------------------------------------------------ |
| `min`            | Number          | `0`          | Lowest value on the scale (min 0)                            |
| `max`            | Number          | `10`         | Highest value on the scale (max 20)                          |
| `style`          | Enum            | `buttons`    | Visual style (see below)                                     |
| `starting_value` | Number          | `0`          | Pre-selected value (applicable for slider and colour styles) |
| `dynamic_labels` | Boolean / Array | `null` (off) | Per-number labels (array length = `(max − min) + 1`)         |
| `label_low`      | Text            | —            | Label at the low end (when dynamic labels are off)           |
| `label_high`     | Text            | —            | Label at the high end                                        |
| `label_position` | Enum            | `bottom`     | `top` or `bottom`                                            |

**Style options:**

| Style            | Description                                                          |
| ---------------- | -------------------------------------------------------------------- |
| `buttons`        | Plain numbered buttons in a row                                      |
| `slider`         | A draggable slider                                                   |
| `style-template` | Coloured buttons using a predefined colour template                  |
| `style-custom`   | Coloured buttons with custom selected, hover, and unselected colours |

**Colour templates** (when `style` is `style-template`):

| Template        | Description                   |
| --------------- | ----------------------------- |
| `traffic-light` | Red → yellow → green gradient |
| `heat-map`      | Blue → red gradient           |
| `monochrome`    | Single-colour gradient        |

**Custom colours** (when `style` is `style-custom`):

| Field              | Default   |
| ------------------ | --------- |
| `selected_color`   | `#3b82f6` |
| `hover_color`      | `#bfdbfe` |
| `unselected_color` | `#f3f4f6` |

***

## Emoji rating

Respondents click an emoji to express their sentiment. Best for quick mood checks, satisfaction snapshots, or anywhere a visual, informal tone fits.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/feedal/images/building-forms-questions-emoji-rating.png" alt="Emoji rating question in the canvas" />

| Field              | Type    | Default          | Notes                                      |
| ------------------ | ------- | ---------------- | ------------------------------------------ |
| `options`          | List    | 5 emojis (😡→😄) | Each option has an emoji glyph and a label |
| `selected_color`   | Color   | `#3b82f6`        | Highlight color for the selected emoji     |
| `unselected_color` | Color   | `#f3f4f6`        | Background color for unselected emojis     |
| `show_label`       | Boolean | `true`           | Shows the label beneath each emoji         |
| `orientation`      | Enum    | `horizontal`     | `horizontal` or `vertical` layout          |

Options can be edited individually or replaced with a preset template from the template picker in the right panel.

***

## Opinion scale

A horizontal scale from a low to high value. Best for NPS surveys, agreement scales, or likelihood questions.

| Field              | Type            | Default       | Notes                                               |
| ------------------ | --------------- | ------------- | --------------------------------------------------- |
| `min`              | Number          | `0`           | Lowest value (0–5)                                  |
| `max`              | Number          | `10`          | Highest value (5–20)                                |
| `starting_value`   | Number          | —             | Pre-selected value                                  |
| `selected_color`   | Color           | `#3b82f6`     | Color of the selected value                         |
| `unselected_color` | Color           | `#f3f4f6`     | Color of unselected values                          |
| `dynamic_labels`   | Boolean / Array | `null` (off)  | Per-value labels (array length = `(max − min) + 1`) |
| `label_low`        | Text            | `Not likely`  | Label at the low end                                |
| `label_high`       | Text            | `Very likely` | Label at the high end                               |

<Tip>
  For a standard NPS survey, set `min` to `0` and `max` to `10`, with
  `label_low` = "Not at all likely" and `label_high` = "Extremely likely".
</Tip>

***

## Next steps

<CardGroup cols={2}>
  <Card title="Advanced questions" icon="paperclip" href="/building-forms/questions/advanced">
    File upload and Matrix.
  </Card>

  <Card title="Scoring" icon="trophy" href="/building-forms/workflow/scoring">
    Assign point values to rating answers and track a total score.
  </Card>
</CardGroup>
