shadcn.io is not affiliated with official shadcn/ui
Framework
UI library
Radix UI does not include this primitive, so this page uses the Ark UI component. The visuals match the Ark UI version.
Upload files
Drag and drop or click to browse. PNG, JPG, PDF up to 10MB.
Installation
bunx --bun shadcn@latest add https://kit.dev/r/radix/file-upload.jsonAnatomy
FileUpload
├── FileUploadDropzone
├── FileUploadItem
│ ├── FileUploadItemDeleteTrigger
│ ├── FileUploadItemGroup
│ ├── FileUploadItemName
│ ├── FileUploadItemPreview
│ │ └── FileUploadItemPreviewImage
│ └── FileUploadItemSize
├── FileUploadLabel
├── FileUploadTrigger
└── FileUploadClearTriggerUsage
import { Button } from "@/components/ui/button";
import {
FileUpload,
FileUploadDescription,
FileUploadDropzone,
FileUploadDropzoneIcon,
FileUploadHelper,
FileUploadList,
FileUploadTitle,
FileUploadTrigger,
} from "@/components/ui/file-upload";
import { Separator } from "@/components/ui/separator";<FileUpload className="mx-auto w-full max-w-xs">
<FileUploadDropzone>
<FileUploadDropzoneIcon />
<FileUploadTitle>Drop files here</FileUploadTitle>
<div className="flex items-center justify-center gap-2">
<Separator />
<FileUploadDescription>or</FileUploadDescription>
<Separator />
</div>
<FileUploadTrigger asChild>
<Button>Browse files</Button>
</FileUploadTrigger>
<FileUploadHelper>
You can upload up to 2 files at a time.
</FileUploadHelper>
</FileUploadDropzone>
<FileUploadList />
</FileUpload>Accessibility
| Key | Description |
|---|---|
Enter | Activate the focused control. |
Space | Activate the focused control. |
Demos
Accepted File Types
Clear Trigger
Custom Preview
Custom Spacing
Directory Upload
Dropzone
Media Capture
Multiple Files
Trigger
With Field
API Reference
FileUpload
div
PropType
AttributeType
FileUploadDropzone
div
PropType
AttributeType
FileUploadItem
li
PropType
AttributeType
FileUploadItemDeleteTrigger
button
PropType
AttributeType
FileUploadItemGroup
ul
PropType
AttributeType
FileUploadItemName
div
PropType
AttributeType
FileUploadItemPreview
div
PropType
AttributeType
FileUploadItemPreviewImage
img
PropType
AttributeType
FileUploadItemSize
div
PropType
AttributeType
FileUploadTrigger
button
PropType
AttributeType
FileUploadClearTrigger
button
PropType
AttributeType
FileUploadDropzoneIcon
div
PropType
AttributeType
FileUploadTitle
div
PropType
AttributeType
FileUploadDescription
div
PropType
AttributeType
FileUploadHelper
div
PropType
AttributeType
FileUploadList
li
PropType
AttributeType
FileUploadRootProvider
div
PropType
valueUseFileUploadReturnAttributeType
useFileUpload
PropType