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
- 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.
- 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.
- The tus and Transloadit integrations solve different boundaries:
@uppy/tussends resumable bytes to any tus endpoint, while@uppy/transloaditcreates Assemblies and normally uploads through tus internally, unlessimportFromUploadURLshands the upload to another plugin. Upload completion is not processing completion: Uppy waits for results only withwaitForEncoding, so otherwise usenotify_urlor 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.