Cette page est affichée en anglais. Une traduction française est en cours.
ConfigsMay 18, 2026·3 min de lecture

Uppy — Modular JavaScript File Uploader

A modular, plugin-based JavaScript file uploader that supports drag-and-drop, webcam capture, remote sources, and resumable uploads via the tus protocol.

Prêt pour agents

Cet actif peut être lu et installé directement par les agents

TokRepo expose une commande CLI universelle, un contrat d'installation, le metadata JSON, un plan selon l'adaptateur et le contenu raw pour aider les agents à juger l'adaptation, le risque et les prochaines actions.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Uppy
Commande CLI universelle
npx tokrepo install 90386781-524e-11f1-9bc6-00163e2b0d79

Introduction

Uppy is an open-source file uploader built by Transloadit. Its plugin architecture lets you compose a custom upload experience from modular pieces: a dashboard UI, import sources like Google Drive or Dropbox, webcam capture, image editing, and resumable uploads over tus or multipart HTTP.

What Uppy Does

  • Provides a polished drag-and-drop upload UI with progress bars and file previews
  • Imports files from local disk, webcam, URLs, Google Drive, Dropbox, Instagram, and more
  • Supports resumable uploads via the tus protocol so large files survive network interruptions
  • Offers image cropping and editing before upload via the Image Editor plugin
  • Enforces file restrictions on type, size, and count before upload begins

Architecture Overview

Uppy follows a core-plus-plugins design. The core (@uppy/core) manages the file list, state machine, and event bus. UI plugins like Dashboard and DragDrop render the interface. Uploader plugins (Tus, XHR Upload, AWS S3) handle the transport layer. Provider plugins (Google Drive, Dropbox) connect to remote file sources through Companion, a server-side proxy that handles OAuth and streams files directly to the destination.

Self-Hosting & Configuration

  • Install individual packages via npm: @uppy/core, @uppy/dashboard, and your chosen uploader
  • Configure file restrictions with restrictions: { maxFileSize, allowedFileTypes, maxNumberOfFiles }
  • Deploy the Companion server for remote sources: npx @uppy/companion or via Docker
  • Set Companion environment variables for OAuth credentials per provider
  • Enable resumable uploads by pointing the Tus plugin at a tus-compatible server endpoint

Key Features

  • Plugin-based: include only the pieces you need to keep bundle size small
  • Companion server proxies remote files without routing them through the browser
  • Golden Retriever plugin recovers uploads after browser crashes using IndexedDB and Service Workers
  • Framework integrations for React, Vue, Angular, and Svelte
  • Locale packs for 30+ languages with full RTL support

Comparison with Similar Tools

  • Dropzone.js — Simpler API but no remote sources, no resumable uploads, no plugin ecosystem
  • FilePond — Beautiful UI with good defaults; fewer remote source integrations than Uppy
  • Fine Uploader — Mature but no longer maintained; Uppy is actively developed
  • react-dropzone — Lightweight React hook for drop zones; Uppy provides a full upload pipeline
  • tus-js-client — Low-level tus client; Uppy wraps it with UI, state management, and plugins

FAQ

Q: Does Uppy require a specific backend? A: No. Uppy works with any HTTP endpoint via the XHR Upload plugin. For resumable uploads, you need a tus-compatible server like tusd.

Q: What is Companion and when do I need it? A: Companion is a Node.js server that handles OAuth and proxies files from remote sources (Google Drive, Dropbox) to your storage. You only need it if you use remote provider plugins.

Q: Can I customize the Uppy UI? A: Yes. Override the Dashboard CSS variables, use the headless mode with the DragDrop or FileInput plugins, or build a custom UI using Uppy's state and event API.

Q: Is Uppy free? A: Yes. Uppy is MIT-licensed. Transloadit offers an optional paid encoding and processing service that integrates via a plugin.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires