Text Area

A multi-line text field for longer writing — a message, a description, a note — with an optional character counter and a handle to make it taller.

Preview

Limit

Shown on your public profile.

92/160

When to use

  • For anything more than a line: comments, bios, feedback.
  • With a counter when there is a length limit, so people see it before they hit it.

Reach for something else

  • For a short single value: that is an Input.

Anatomy

  1. 1

    Label

    Above the field.

  2. 2

    Field

    A bordered box a few lines tall, scrolling past its height.

  3. 3

    Resize handle

    Bottom corner; drags the height, not the width.

  4. 4

    Counter

    Characters used out of the limit, under the field on the right.

  5. 5

    Hint

    Optional help or error on the left, opposite the counter.

States

Default

Hairline border.

Focus

Brand border with a soft ring.

Near limit

Counter turns amber.

Over limit

Counter and border turn red.

Disabled

Grey fill, not resizable.

Accessibility

  • A native <textarea> with a <label>.
  • The counter is linked with aria-describedby, and announced politely rather than on every keystroke.
  • Over the limit sets aria-invalid, and the hint says by how much.

Source

The Text Area is in the Figma library today, with every variant and state above. Its React and Vue source ships with the code library, free, and this page gets the install line, the props and the code the day it does.

Tell me when the source landsand you'll get 10% off your first licence if you ever want the full library.

See it in a block

All documentation