---
title: Textarea
description: A multi-line text input field.
---

```tsx
'use client';

import { Textarea } from '@/components/ui/textarea';

export function TextareaDefault() {
  return <Textarea placeholder='Type your message here.' className='w-64' />;
}
```

## Installation

```bash
npx shadcn@latest add @fab-ui/textarea
```

**Copy and paste the following code into your project.**

```tsx
import * as React from 'react';

import { cn } from '@/lib/utils';

function Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {
  return (
    <textarea
      data-slot='textarea'
      className={cn(
        'flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',
        className
      )}
      {...props}
    />
  );
}

export { Textarea };
```

**Update the import paths to match your project setup.**

## Usage

```tsx
import { Textarea } from "@/components/ui/textarea"
```

```tsx
<Textarea placeholder="Type your message here." />
```

## Examples

### With Label

```tsx
'use client';

import {
  Field,
  FieldDescription,
  FieldLabel,
} from '@/components/ui/field';
import { Textarea } from '@/components/ui/textarea';

export function TextareaWithLabel() {
  return (
    <Field className='w-64'>
      <FieldLabel>Bio</FieldLabel>
      <Textarea placeholder='Tell us about yourself' />
      <FieldDescription className='my-0!'>
        You can @mention other users and organizations.
      </FieldDescription>
    </Field>
  );
}
```
