30 open-source projects similar to transloadit/uppy, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Uppy alternative.
This project is a jQuery-based file upload widget that provides a browser interface for selecting and transferring files to a server. It functions as a chunked file uploader and a resumable upload client, enabling the transfer of large files by splitting them into smaller segments or continuing interrupted uploads from the last successfully sent byte. The tool includes a client-side image processor for validating, resizing, and generating previews of images before transmission. It also serves as a cross-domain upload tool, using various transport mechanisms to send files to different domains
Dropzone is a JavaScript library used to create interactive file upload zones with drag-and-drop support. It functions as an HTTP file upload manager that handles network request management and the transmission of files to a server. The library includes a client-side image previewer that generates thumbnails and resizes files within the browser before they are transmitted. It provides a customizable upload interface through a set of themes and event listeners that modify the visual style and behavior of the upload areas. The system manages the end-to-end upload process by tracking real-time
Uploadthing is a tool for integrating file uploads into web applications, providing a system to accept and store files through serverless file handling. It manages the end-to-end upload process, from creating backend endpoints to delivering content via a content delivery network. The project utilizes a presigned URL workflow to allow clients to upload files directly to cloud storage, reducing server ingress. It features a route-based validation system to enforce constraints on file types and sizes, alongside middleware for request authorization and secure post-upload callback webhooks. The p
Dropzone is a JavaScript file upload library that provides a browser-based interface for capturing dropped files and transmitting them to a server. It functions as a multipart upload client, splitting large files into smaller chunks to increase transmission reliability and bypass server size limits. The library includes a client-side image processor capable of resizing images and correcting photo orientation in the browser before they are sent to a server. It generates image thumbnails and visual previews immediately after selection, and can render previews for files already hosted on a serve
bootstrap-fileinput is a Bootstrap-compatible HTML5 file upload widget and plugin. It provides a customizable interface for selecting and uploading multiple files, featuring integrated image previews, drag-and-drop support, and client-side validation for file types, sizes, and counts. The project includes a resumable file upload client that slices large files into chunks to ensure stability over intermittent connections and allow transfers to be paused and resumed. It also features a client-side image processor capable of resizing images and reading EXIF metadata to automatically correct imag
FilePond is a JavaScript library designed for managing file uploads, providing a browser-based component that handles selection, validation, and asynchronous transmission to remote servers. It functions as a web form input element that supports drag-and-drop interactions, file property verification, and queue management to ensure that only permitted content is submitted. The library distinguishes itself through extensive client-side media processing capabilities, allowing users to edit, crop, resize, and filter images and videos directly in the browser before transmission. It includes automat
Plupload is a JavaScript file upload library that provides a standardized interface for managing file transfers across different browser runtimes and environments. It functions as a cross-browser upload interface and manager, supporting multiple file selections and browser-based file filtering. The library distinguishes itself through specialized capabilities for handling large data and cloud integration. It includes a chunked file upload manager to split large files into smaller parts to bypass server size limits and a client-side image processor to downsize images and strip metadata before
TagSpaces is an offline-first file tagging and organization platform that lets you manage local files with portable metadata stored directly in filenames or sidecar JSON files, eliminating the need for a central database. It functions as a full-text file search engine, a Kanban board file organizer, a local AI file assistant, an S3-compatible cloud file manager, and a web clipper and bookmark manager, all within a single application. The project distinguishes itself through a local-first architecture where all file operations, indexing, and AI processing run entirely on the device, with cloud
ng-file-upload is an Angular directive for handling multipart file uploads and drag-and-drop selection within Angular applications. It functions as a client-side tool for validating file attributes, processing images, and generating media previews before transmission to a server. The project includes a client-side image processor for resizing, center-cropping, and correcting JPEG EXIF orientation. It also features a browser-based media previewer for images, audio, and video files, and an HTML5 File API shim to provide upload and reader functionality for legacy browsers. Additional capabiliti
CarrierWave is a Ruby file upload library used to manage the uploading, storing, and retrieval of files within web frameworks such as Rails and Sinatra. It functions as an Active Record file manager that associates uploaded assets with database records. The project includes an image processing pipeline for generating thumbnails and derivative versions of uploaded images. It also features a file validation engine to restrict uploads based on allowlists or denylists of extensions and content types, and provides cloud storage integration to manage assets on remote providers. The library covers
This project is a community-curated directory of open-source software designed for deployment in private server environments and home labs. It serves as a comprehensive resource for discovering independent, self-hosted alternatives to mainstream cloud services, enabling users to maintain full data ownership and control over their digital infrastructure. The directory is structured through a hierarchical taxonomy that organizes a vast collection of applications into logical categories, ranging from media management and data analytics to private communication and team productivity tools. It dis
Webuploader is a browser-based file upload library written in JavaScript. It provides a system for managing multi-file uploads with support for drag-and-drop, clipboard pasting, and type filtering. The library includes a chunked file upload manager that splits large files into smaller segments to improve stability and enable partial retries. It features a client-side image compressor that generates previews and reduces file size before transmission, as well as an MD5 file integrity verifier to identify and skip redundant uploads of files already stored on the server. The tool manages file co
Primitives is a library of unstyled, accessible building blocks designed for creating complex interface elements in React. It functions as a headless component framework, providing the underlying logic, state management, and accessibility compliance while leaving all visual styling and design decisions entirely to the developer. The library distinguishes itself through a composition-based architecture that allows developers to build interactive interfaces by nesting small, single-purpose components. This system automatically handles complex requirements such as WAI-ARIA attribute injection, f
Fine Uploader is a browser file upload widget and manager that provides a frontend interface for transferring multiple files. It functions as a chunked file upload manager and a client-side image processor. The project enables the direct transfer of files to cloud storage providers, specifically Amazon S3 and Microsoft Azure, to reduce the load on application servers. It includes tools for scaling and resizing image dimensions during the upload process to save bandwidth. The system manages large file transfers by splitting them into small pieces, allowing for pause and resume functionality.
TanStack Router is a type-safe routing library for web applications that provides full type safety for paths, search parameters, and data loaders across the entire application stack. It functions as a comprehensive framework for server-side rendering, enabling the generation of complete HTML pages to improve initial load performance and search engine optimization. By integrating declarative data fetching, the library manages asynchronous information at the route level, supporting preloading, caching, and parallel request execution to ensure data is ready before components render. The project
QuickLook is a utility for the Windows operating system that provides instant file previews through keyboard shortcuts. It allows users to inspect the contents of documents, media, and code without the need to launch the associated software applications. The application integrates directly into the system file manager and open dialog windows, ensuring a consistent preview experience across the operating system. It utilizes a modular plugin architecture that enables the rendering of diverse file formats, including office documents, engineering drawings, and vector graphics, without requiring t
Effector is a reactive state management library designed for building complex, event-driven applications. It functions as a data flow engine that models application logic as a directed acyclic graph, ensuring that state updates propagate automatically through interconnected nodes. By utilizing atomic state updates and declarative unit composition, the library maintains data consistency and provides a predictable execution model for managing application state. The project distinguishes itself through its framework-agnostic architecture, which decouples business logic from user interface implem
resumable.js is a JavaScript library for managing large file uploads using the HTML5 File API. It functions as a chunked data transmitter and resumable upload manager, dividing files into smaller segments to ensure reliable delivery to a remote server. The library is distinguished by its ability to recover upload progress after network interruptions or browser restarts. It achieves this through resumable data transfer and server-side chunk verification, which checks for existing segments on the server to avoid redundant data transmission. The system manages concurrent file uploads and reques
Uploader is a JavaScript library designed for managing reliable, resumable, and concurrent file transfers within web applications. It provides a client-side interface that leverages the browser's native file system capabilities to handle data selection and transmission. The library distinguishes itself by implementing a chunked data handling model, which breaks large files into smaller segments to ensure fault tolerance. This architecture allows for the automatic recovery of transfers following network interruptions or browser restarts, while maintaining state-persistent queues that enable us
Sigma File Manager is a cross-platform desktop application for browsing, organizing, and searching local and network files through a modern graphical interface. It functions as an integrated file previewer, network storage client, and local network file share utility. The application is built on an extensible architecture that allows users to add custom commands, pages, and settings through a plugin system and marketplace. It distinguishes itself with the ability to stream local files and folders to other devices over a local network using browser access, QR codes, and FTP. Core capabilities
Vue-uploader is a library designed for managing file and folder transfers within Vue applications. It provides a framework for handling large data transmissions by splitting files into smaller, manageable chunks, which enables reliable uploads with support for pausing, resuming, and error recovery. The library offers a set of component-based abstractions that allow developers to build custom drag-and-drop zones and file selection interfaces. It manages the entire upload lifecycle, including file validation based on custom criteria and the orchestration of concurrent upload queues. Beyond bas
Ark is a headless UI component library that delivers accessible, cross-framework primitives with behavior governed by finite state machines. It provides unstyled components that encapsulate logic and accessibility — including full keyboard navigation, focus management, and WAI-ARIA support — while leaving visual styling entirely to the consumer. Components expose scoped data attributes for CSS targeting and use state machines to produce predictable, testable interactive behavior across every state transition. The library distinguishes itself through a state propagation model that distributes
This project is a server-side PHP library designed for managing file uploads and performing automated image processing. It provides a structured toolkit for ingesting, validating, and migrating files from temporary staging areas to permanent storage while enforcing security constraints. The library distinguishes itself through a configuration-driven pipeline that executes a sequence of transformations on image buffers. It supports a wide range of geometric adjustments, including resizing, cropping, and rotation, alongside advanced visual enhancements such as watermarks, color adjustments, and
This project is a self-hosted cloud storage server and content collaboration platform implemented as a PHP web application framework. It functions as a centralized server for storing, synchronizing, and sharing files and data across multiple devices. The system operates as a WebDAV file server and a synchronization server for scheduling and contact information using CalDAV and CardDAV protocols. It features a plugin architecture that allows the server to be extended with additional applications and custom features. The platform provides capabilities for user and group access management, exte
FileBrowser is an open-source, self-hosted file management interface that runs as a single binary with no external dependencies. It provides a web-based interface for browsing, uploading, editing, and sharing files on a remote server, with a core architecture built on JWT-based stateless authentication and a rule-based path permission engine that controls access at the directory level. The project distinguishes itself through a comprehensive access control system that supports multi-provider authentication including OIDC, LDAP, external JWT, and two-factor authentication, alongside granular p
Joshuto is a keyboard-driven terminal user interface file manager built with Rust. It functions as a Vim-like file explorer, providing a text-based environment for browsing directories and performing filesystem operations through modal navigation and cursor-based movements. The project distinguishes itself through a side-by-side column view that allows for terminal file previewing, including the rendering of image thumbnails and file contents. It supports a highly customizable workflow where users can define their own keybindings, visual themes, and terminal styles through external configurat
Gotify is a self-hosted notification server designed to centralize the receipt and dispatch of real-time messages. It provides a RESTful API and a WebSocket gateway, allowing users to programmatically send alerts and push notifications to connected clients. By maintaining a private infrastructure, the platform ensures full control over message history, data retention, and access management. The system distinguishes itself through a modular, plugin-based architecture that allows for the extension of core functionality, including custom HTTP endpoints and webhook event processing. It supports g
Apprise is a notification library and command-line utility that provides a unified interface for sending alerts to a wide range of messaging, email, and push services. It abstracts the complexities of diverse third-party communication APIs, allowing users to dispatch notifications through a single, standardized method. The project utilizes a connection-string-based routing system to map notification requests to specific service drivers. It features a modular plugin architecture that supports the integration of new messaging platforms and custom notification hooks. Users can organize service e
Platform is a framework for building back-office applications and administrative dashboards using Laravel. It functions as a schema-driven UI framework and CRUD generator that automatically constructs database management interfaces, input forms, and validation rules from programmatic model definitions. The project distinguishes itself through a comprehensive backend UI kit that supports advanced data capture, including geographic coordinate mapping, tabular JSON data matrices, and marketing metadata tracking. It features a robust role-based access control system for managing resource visibili
Filegator is a web-based file manager and self-hosted file sharing portal. It functions as a cloud storage gateway that allows users to organize, upload, and download files across local disks and various cloud storage providers through a single unified interface. The system features a multi-backend authentication provider capable of verifying identities via JSON files, databases, or external directory services. It includes a role-based access control system that manages user permissions, assigns home folders, and restricts access to specific files and system routes. The platform provides cap