# upup – Open-Source File Uploader | npm @useupup

> upup is a free, MIT-licensed file uploader on npm as @useupup. Drag and drop UI for React, Vue, Svelte, Angular, Vanilla JS and Preact, with S3 uploads.

Canonical page: https://useupup.com/

## Install

```sh
npm install @useupup/react
```

Also `pnpm add @useupup/react`, `yarn add @useupup/react` or `bun add @useupup/react`. Each framework has its own package, listed below.

Setting upup up with an AI coding agent: paste this sentence into the agent. "Fetch and execute the appropriate instructions to set me up for upup from https://useupup.com/agent-setup/prompt.md" (how it works: https://useupup.com/agent-setup/)

## Frameworks

One core, six frameworks: a native UI package for each.

- [React](https://useupup.com/react/): `@useupup/react`, quickstart https://useupup.com/docs/quickstarts/react/
- [Vue](https://useupup.com/vue/): `@useupup/vue`, quickstart https://useupup.com/docs/quickstarts/vue/
- [Svelte](https://useupup.com/svelte/): `@useupup/svelte`, quickstart https://useupup.com/docs/quickstarts/svelte/
- [Angular](https://useupup.com/angular/): `@useupup/angular`, quickstart https://useupup.com/docs/quickstarts/angular/
- [Vanilla JS](https://useupup.com/vanilla/): `@useupup/vanilla`, quickstart https://useupup.com/docs/quickstarts/vanilla/
- [Preact](https://useupup.com/preact/): `@useupup/preact`, quickstart https://useupup.com/docs/quickstarts/preact/

## Cloud sources your users can upload from

Users can directly upload from these providers in upup:

- Google Drive
- OneDrive
- Dropbox
- Box

On the roadmap: Instagram, Facebook, Zoom, Google Photos Picker, iCloud Drive, Pinterest, TikTok.

## Storage you can upload to

You can connect to upup using any S3 provider. We also support Azure Blob Storage in client mode.

- AWS S3
- [Azure Blob](https://useupup.com/docs/guides/storage/azure-blob/) (client mode only)
- Backblaze B2
- DigitalOcean
- Cloudflare R2
- Wasabi Hot Cloud Storage
- Linode Object Storage
- IDrive e2
- Hetzner Object Storage
- Scaleway Object Storage
- Oracle Cloud Object Storage
- Alibaba Cloud OSS
- MinIO
- Google Cloud Storage
- Supabase

On the roadmap: Vercel Blob, IBM Cloud Object Storage.

## File types

- 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

## Frequently asked questions

**Q: Which frameworks does upup support?**

upup ships one uploader with native UI packages for React, Vue, Svelte, Angular, Vanilla JS, and Preact. Every framework renders the same DOM structure, classes, and accessibility tree, verified by a cross-framework parity test suite, so the uploader looks and behaves the same everywhere.

**Q: Is upup free and open source?**

Yes. upup is MIT-licensed and free to use in commercial and personal projects. The source lives on GitHub at github.com/DevinoSolutions/upup.

**Q: Does upup work with S3-compatible storage like MinIO or Cloudflare R2?**

Yes. upup uploads to any S3-compatible storage, including AWS S3, Cloudflare R2, MinIO, DigitalOcean Spaces, Backblaze B2, Wasabi, and more, as well as Azure Blob Storage.

**Q: Which cloud drives can users upload from?**

Users can import files directly from Google Drive, OneDrive, Dropbox, and Box. upup also supports uploads from the device camera, screen capture, and link (URL) imports.

**Q: What is the difference between client mode and server mode?**

In both modes the browser sends local file bytes straight to your bucket over short-lived presigned URLs, and your storage credentials stay on your server. In client mode you write the endpoint that signs those URLs, and cloud-drive sign-in and downloads run in the browser. In server mode the @useupup/server package is that endpoint — HMAC-signed upload tokens, per-user auth, size and type limits, and multipart coordination — and it also runs cloud-drive OAuth and streams drive files into your bucket from the server.

**Q: Can I use my own UI with upup?**

Yes. The engine lives in @useupup/core, a framework-agnostic headless package. You can use the built-in native UI for your framework or build a fully custom interface on the same core using the exported hooks and controllers.

## Links

- Documentation: https://useupup.com/docs/
- Docs index for agents: https://useupup.com/llms.txt
- Full docs corpus: https://useupup.com/llms-full.txt
- Source code (MIT): https://github.com/DevinoSolutions/upup
- Community Discord: https://discord.gg/ny5WUE9ayc
