Open Source & Active

File Uploads For

Modern Web

Open-source React & TypeScript file upload library with cloud integrations, customizable drag & drop UI, progress bar, and retry logic. Works with Next.js, Vite, Remix, Gatsby & more.

npm install upup-react-file-uploader
Interactive Demo

Try the interactive example

Customize the UI, drag & drop files, and test our TypeScript npm package with different themes and settings.

Settings

Restrictions

Theme

Sources

Options

Preview
Compress

More options?

Check the full docs

Docs

Live Preview

Add your documents here, you can upload up to 99 files max

Drag your files or

Max 999 MB files are allowed

0 file selected
Powerful Features

Everything you need formodern file uploads

A customizable React file upload component for Next.js, Vite, Remix & Gatsby — with drag-and-drop dropzone, file picker, upload button, progress bar, retry logic, and server-side helpers for image, video, and multiple file uploads.

Multi-Cloud Support

Connect to AWS S3, DigitalOcean Spaces, Backblaze B2, Azure Blob, and more cloud providers

Drag & Drop / Dropzone

Intuitive drag-and-drop file dropzone and file picker with an upload button — built for a modern, customizable UI

Image & Video Previews

File upload with preview — see images, videos, documents, and other media files instantly before uploading

Cloud Integration

Upload directly from Google Drive, OneDrive, and other cloud storage services

Progress Bar & Retry Logic

Real-time upload progress bar with automatic retry on failure, resumable chunked uploads, and server-side optimization

Multiple Files & Validation

Upload multiple files — including large files — with file size limit validation, pre-signed URLs, and enterprise-grade security

Let your users connect to their favorite storage cloud providers

Users can directly upload from these providers in UpUp

Supported

Google Drive

Direct access to files

Supported

OneDrive

Microsoft cloud storage

Supported

Dropbox

Cloud file sharing

Planned

Instagram

Import photos and videos

I want this!
Planned

Facebook

Access photos and videos

I want this!
Planned

Zoom

Upload recordings

I want this!
Planned

Google Photos Picker

Photos picker integration

I want this!
Planned

iCloud Drive

Apple cloud storage

I want this!
Planned

Pinterest

Import images

I want this!
Planned

TikTok

Upload videos

I want this!

Request Custom

Tell us what you need!

Tell us what you need!

And for developers, connect upup to your favorite cloud bucket

You can connect to UpUp using any S3 provider. We also support some non-S3 connections.

Supported

AWS S3

Amazon S3 buckets

Supported

Azure Blob

Microsoft Azure storage

Supported

Backblaze B2

Cost-effective storage

Supported

DigitalOcean

Spaces object storage

Supported

Cloudflare R2

R2 object storage

Supported

Wasabi Hot Cloud Storage

Hot cloud storage

Supported

Linode Object Storage

Linode object storage

Supported

IDrive e2

IDrive object storage

Supported

Hetzner Object Storage

Hetzner cloud storage

Supported

Scaleway Object Storage

Scaleway cloud storage

Supported

Oracle Cloud Object Storage

Oracle cloud storage

Supported

Alibaba Cloud OSS

Alibaba Cloud OSS

Supported

MinIO

Self-hosted storage

Planned

Google Cloud Storage

Google Cloud storage

I want this!
Planned

Vercel Blob

Vercel blob storage

I want this!
Planned

Supabase

Supabase storage

I want this!
Planned

IBM Cloud Object Storage

IBM cloud storage

I want this!

Request Custom

Tell us what you need!

Tell us what you need!

Support for all file types

Upload images, videos, documents, and large files — handle any file type and size limit your users need

Images
JPG, PNG, GIF, WebP
Documents
PDF, DOC, DOCX, TXT
Videos
MP4, AVI, MOV, WebM
Audio
MP3, WAV, OGG, FLAC
Archives
ZIP, RAR, 7Z, TAR
Code
JS, TS, JSON, XML
Images
JPG, PNG, GIF, WebP
Documents
PDF, DOC, DOCX, TXT
Videos
MP4, AVI, MOV, WebM
Audio
MP3, WAV, OGG, FLAC
Archives
ZIP, RAR, 7Z, TAR
Code
JS, TS, JSON, XML
Live Code Editor

Try it in your browser

See a live React dropzone example — edit the TypeScript component, customize the upload button and file picker, and watch results instantly.

src/App.tsx

Like what you see? Install the npm package in your Next.js, Vite, Remix, or Gatsby project and start uploading files today.

Help us improve

Your feedback drives our development. Share your thoughts, report issues, or suggest new features.

Email Us

Send feedback directly to our team

Send Email

GitHub Issues

Report bugs or request new features

Discord Community

Join discussions and get support

Join Discord

Open Source & Community Driven

Upup is open source and welcomes contributions. Whether you're fixing bugs, adding features, or improving documentation, every contribution makes a difference.