Open source • MIT licensed
A hooks-first, headless file uploader for React
One hook for the entire upload lifecycle.
Drag, validate, queue, retry, cancel. Your markup, your styles.
How it works
Watch MediaDrop handle different file states, validations, and upload scenarios in real-time
Try a state
hero.png
Drag a file here
isDragActive: false
const { getRootProps, isDragActive } = useMediaDrop()
<div {...getRootProps()} data-active={isDragActive} />