explaingit

transloadit/uppy

Analysis updated 2026-06-20

30,749TypeScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

Uppy is a JavaScript file uploader library that gives any web app drag-and-drop uploads, progress tracking, cloud source imports from Dropbox and Google Drive, and resumable transfers that survive dropped connections.

Mindmap

mindmap
  root((Uppy))
    What it does
      Drag and drop uploads
      Cloud source imports
      Resumable transfers
      Progress tracking
    Source plugins
      Local device
      Dropbox
      Google Drive
      Webcam
    Destination plugins
      Web server
      AWS S3
      tus protocol
    Framework support
      React
      Vue
      Svelte
      Angular
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add a drag-and-drop upload widget to a React app that lets users pick files from their device, Dropbox, or Google Drive

USE CASE 2

Handle large file uploads that automatically resume from where they left off if the user's connection drops mid-transfer

USE CASE 3

Build a photo editor that accepts batch image uploads with individual progress bars and previews before the files are sent

What is it built with?

TypeScriptJavaScriptReactVueSvelteAngular

How does it compare?

transloadit/uppycopilotkit/copilotkitpmndrs/react-three-fiber
Stars30,74930,74330,646
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatemoderate
Complexity3/54/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Cloud source imports (Dropbox, Google Drive) require running the separate Companion server and setting up API credentials for each cloud service.

In plain English

Uppy is a JavaScript file uploader library for web browsers. It solves the gap between what users expect when uploading files, a polished interface with drag-and-drop, progress feedback, and the ability to pull files from cloud storage, and what a basic HTML file input provides. Rather than building all of this from scratch, developers add Uppy to their web application and get a ready-made upload widget with a sleek interface. The library is built around a plugin architecture: a small core handles the upload logic, and optional plugins extend it for specific needs. Source plugins let users pick files from their local device, take a photo with a webcam, or import directly from services like Dropbox, Google Drive, Box, or Instagram. Destination plugins send the files to a regular web server, an AWS S3 bucket, or via the tus protocol, an open standard designed specifically for resumable uploads, meaning a large file transfer that gets interrupted by a dropped network connection can pick up exactly where it left off rather than restarting from scratch. An optional server-side component called Companion handles the cloud-storage integrations, fetching files from those services directly into the destination rather than routing them through the user's browser. A developer would reach for Uppy when building any feature that involves user file uploads, a photo editor, a document management tool, a profile picture uploader, and wants a complete, tested solution instead of assembling one from smaller pieces. It is written in TypeScript and offers integrations for plain HTML/JavaScript as well as React, Svelte, Vue, and Angular.

Copy-paste prompts

Prompt 1
I'm adding Uppy to a React app to upload files to AWS S3. Show me how to set up Uppy with the S3 plugin and the Dashboard UI component.
Prompt 2
How do I configure Uppy with the tus plugin for resumable uploads to my Node.js server so a dropped connection picks up where it left off?
Prompt 3
I want users to import files directly from Google Drive using Uppy. What do I need to configure, including the Companion server, to make that work?

Frequently asked questions

What is uppy?

Uppy is a JavaScript file uploader library that gives any web app drag-and-drop uploads, progress tracking, cloud source imports from Dropbox and Google Drive, and resumable transfers that survive dropped connections.

What language is uppy written in?

Mainly TypeScript. The stack also includes TypeScript, JavaScript, React.

How hard is uppy to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is uppy for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub transloadit on gitmyhub

Verify against the repo before relying on details.