What is Uppy?

Uppy is an open-source file uploader created and maintained by Transloadit. Its modular browser interface supports local files, cameras, remote sources, resumable transfers, and Transloadit Assemblies.

How Uppy works

Uppy organizes browser uploads around a central state manager and a set of source, interface, preprocessing, and transport plugins. An application can present a composed Dashboard or build a custom interface over the same file and progress state. Transport plugins connect that state to resumable endpoints or managed processing services, while remote providers use a server-side companion. It occupies the client-side ingest layer before backend validation and media processing.

Key facts

  1. Uppy Core coordinates file IDs, restrictions, metadata, progress, and plugin events; removing a visible Dashboard does not remove the upload state or transport behavior held by Core.
  2. Remote-source plugins rely on Companion to communicate with provider APIs without exposing provider credentials in the browser, unlike files selected directly from the user’s device.
  3. The tus and Transloadit integrations solve different boundaries: @uppy/tus sends resumable bytes to any tus endpoint, while @uppy/transloadit creates Assemblies and normally uploads through tus internally, unless importFromUploadURLs hands the upload to another plugin. Upload completion is not processing completion: Uppy waits for results only with waitForEncoding, so otherwise use notify_url or an Assembly status check.

When Uppy matters

Choose Uppy when an application needs extensible source selection and managed upload state in the browser. Plugin and backend compatibility must be checked because not every source or resumable flow uses the same integration.

Turn media knowledge into a working pipeline

Connect uploads, processing, AI, storage, and delivery through one declarative API — with the encoding stack, scaling, and format churn handled for you.

Try Transloadit for free