A modular JavaScript file uploader for web browsers with resumable uploads, cloud sources, and a sleek interface.
Uppy is a modular JavaScript file uploader for web browsers that enables seamless file uploading from various sources like local disk, cloud services, and URLs. It solves the problem of building reliable, feature-rich upload interfaces by offering resumable uploads, previews, and integrations with popular frameworks.
Frontend developers building web applications that require robust file upload functionality, especially those needing integrations with cloud services or resumable uploads.
Developers choose Uppy for its modular plugin architecture, support for resumable uploads via the tus standard, seamless cloud service integrations, and first-class framework support, all while being free and open-source.
The next open source file uploader for web browsers :dog:
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses the open tus standard to handle large file uploads that can survive network interruptions, ensuring reliability for big files as highlighted in the README.
Supports fetching files from local disk, cloud services (e.g., Google Drive, Dropbox), and URLs via the @uppy/companion server, enabling direct server-to-server transfers.
Lightweight, plugin-based design with minimal dependencies allows developers to pick only needed features, reducing bloat and enabling custom workflows.
Offers first-class support for React, Svelte, Vue, and Angular with pre-composed components, headless options, and hooks for tailored integration.
Built with accessibility in mind and supports multiple languages, making it inclusive and suitable for global audiences without extra setup.
Cloud source integrations require running a separate @uppy/companion server, adding deployment complexity and operational overhead beyond client-side code.
The modular approach can lead to larger JavaScript bundles if many plugins are used, and the all-in-one CDN bundle is discouraged for production due to bloat.
While headless components exist, creating fully custom UIs requires deep understanding of Uppy's plugin API and event system, which can be time-consuming.