# Reshaped File upload

> Renders an area for uploading files with a native HTML file input, handling click and drag events with an onChange handler for the uploaded file data. Supports a separate Trigger element, custom children composition, inline rendering and a headless variant with render props exposing the drag-over state.

- Author: [reshaped](https://21st.dev/@reshaped)
- License: mit
- Tags: Input, Form, Dropzone, File Upload
- npm dependencies: reshaped
- Live preview: https://21st.dev/@reshaped/components/reshaped-file-upload

## Install

```bash
npx shadcn@latest add "https://21st.dev/r/reshaped/reshaped-file-upload?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/input.md
