# File Input

> A styled file picker that hides the native file input under a custom surface with a leading icon, selected file name (or multi-file count), and an optional clear button.

- Author: [ai 2](https://21st.dev/@ai2)
- Library: @ai2
- License: MIT
- Tags: File Input, Upload, Form, Attachment
- npm dependencies: lucide-react, class-variance-authority
- Live preview: https://21st.dev/@ai2/components/file-input

## Install

```bash
npx shadcn@latest add "https://21st.dev/r/ai2/file-input?api_key=$API_KEY_21ST"
```

Requires a 21st API key (generate one at https://21st.dev/mcp) passed as `API_KEY_21ST`. Free accounts get a limited number of installs per day; unlimited on a paid plan — see https://21st.dev/pricing.

Full component directory: https://21st.dev/llms.txt · More like this: https://21st.dev/community/components/s/file-input.md
