30 open-source projects similar to pingdotgg/uploadthing, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Uploadthing alternative.
Uppy is a modular web file upload framework designed for building browser-based uploaders. It functions as a resumable upload client and a system for integrating file uploads from a browser to backend servers or cloud storage. The project provides a headless UI upload component, offering logic hooks and headless elements that allow for the development of custom upload interfaces. It also serves as a cloud storage file importer, utilizing OAuth flows to authenticate and import files directly from remote providers, and as a browser-based media capture tool for uploading images or video clips fr
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
EmDash is an open-source content management system built on Astro that combines a visual admin panel with a plugin-driven architecture and server-side rendering. It provides a complete content management system with structured content modeling, a rich text editor using Portable Text format, and a TypeScript API for type-safe content queries. The system supports authentication through passkeys, OAuth 2.1, and external providers, with role-based access control and fine-grained permission scopes. What distinguishes EmDash is its plugin development framework, which supports both native plugins ru
Kan is a self-hosted kanban project management tool that organizes work into boards, lists, and cards. It provides a REST API for managing all project resources, including boards, cards, labels, checklists, comments, and attachments, with standard HTTP responses for every request. The application supports granular permission and role management at both the workspace and board level, allowing administrators to control access to resources and actions. It includes webhook support for receiving card event notifications, and offers integration capabilities for importing projects from Trello and Gi
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
jscamp is a full-stack web development and education project focused on mastering JavaScript, TypeScript, and AI integration. It provides a structured curriculum and interactive exercises covering language fundamentals, frontend engineering, and backend API development. The project distinguishes itself through the implementation of autonomous AI agents capable of complex task automation, such as modifying files, managing servers, and executing API calls. It includes advanced AI development tools for conversational querying, real-time code suggestions, and automated repository analysis to gene
This project is a JavaScript UI component library and frontend utility toolkit. It serves as a web modal framework and popup library, providing a specialized system for rendering interactive dialogs, overlays, and layered interfaces over web page content. The library is distinguished by its comprehensive set of overlay tools, including alert dialogs, confirmation prompts, and the ability to embed external content via iframes. It also features a responsive twelve-column grid system for cross-device layout compatibility and an internal modular dependency management system for on-demand loading
uPic is a native macOS application designed for uploading images and files to cloud hosting services and private backends. It functions as a cloud image hosting tool and a custom API upload client that generates formatted links for shared content. The project distinguishes itself by allowing users to configure private backend endpoints with specific HTTP methods, headers, and server URLs. It converts uploaded file addresses into Markdown or HTML snippets, which are then written back to the system clipboard via customizable URL templates. The application integrates with macOS system framework
This is a Backend-as-a-Service SDK for React Native, providing a library to integrate mobile applications with backend services. It serves as a client for managing user authentication, cloud databases, and remote file storage within a mobile environment. The SDK enables mobile developers to implement secure login flows using OAuth, email, and phone verification. It includes a database client for performing CRUD operations on structured data and a storage client for uploading and retrieving binary assets from remote cloud buckets. Additionally, it features a WebSocket-based interface to receiv
Huma is an OpenAPI REST framework for Go designed for building HTTP services with automatic OpenAPI 3.1 specification generation and JSON Schema validation. It serves as a toolkit for developing REST and RPC APIs with typed inputs and outputs, deriving interactive documentation directly from the source code. The framework distinguishes itself by automating the synchronization between implementation and documentation. It uses a content-negotiation engine to manage multiple serialization formats via client headers and employs a JSON Schema input validator to automatically verify request paramet
supabase-js is a comprehensive client library designed to integrate frontend applications with a hosted backend-as-a-service. It provides a unified interface for interacting with a PostgreSQL database, identity management systems, cloud object storage, and real-time data synchronization. The library features an isomorphic client design that operates across both browser and server environments. It distinguishes itself through a type-safe approach, utilizing TypeScript to map database schemas directly to client-side definitions, and employs a PostgREST-based API to translate JavaScript calls in
Space Cloud is a self-hosted, cloud-native backend-as-a-service suite. It functions as a Kubernetes-based serverless platform that provides a GraphQL and REST API gateway, a database API generator, and an event-driven orchestrator. The platform transforms SQL and NoSQL database schemas into secure endpoints, eliminating the need for manual backend development. It distinguishes itself by allowing remote data joins, which combine records from internal databases and external HTTP microservices within a single query. The system covers a broad range of capabilities, including rule-based access co
Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a modular, plugin-based architecture that allows developers to compose server logic, middleware, and validation schemas into scalable application instances. By leveraging native web standards, the framework ensures portability across diverse JavaScript runtimes, including Node.js, Deno, and various edge computing environments. The framework distinguishes itself through its focus on end-to-end type safety, automatically synchronizing request and response definitions between the s
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
Practicalnode is a comprehensive educational resource and backend development framework for mastering server-side programming with Node.js. It provides a structured approach to building scalable network services, REST APIs, and real-time applications using asynchronous JavaScript. The project serves as a detailed implementation guide for several core backend patterns, including MongoDB data modeling and the construction of REST API development kits. It emphasizes a specific workflow for Docker containerization and offers a variety of strategies for managing user identity through stateless tok
react-dropzone is a React hook and HTML5 drag-and-drop wrapper used to create interactive areas that accept files via drag-and-drop or a native system file picker. It serves as a web file system interface, bridging browser interfaces with the operating system's file selection process. The project distinguishes itself by managing complex event propagation to isolate drop zones and providing global drag-state detection for document-wide visual feedback. It supports both traditional hidden input triggers and the modern browser File System Access API for secure context integration, and it can det
This project is a comprehensive library of reference implementations and patterns for building web applications using the Go Fiber framework. It provides curated templates and implementation guides for creating REST APIs, web servers, and structured backend services. The repository serves as a practical resource for applying architectural patterns, including Clean and Hexagonal architectures, as well as port-and-adapter decoupling. It offers detailed examples for integrating common web features such as OAuth2 authentication, JWT verification, WebSockets for real-time communication, and server
This project is a full-stack serverless application stack and boilerplate designed for building software-as-a-service applications on the Cloudflare Workers platform. It provides a TypeScript starter that unifies the frontend and backend within a single deployment workflow, integrating essential primitives for authentication, data persistence, and storage. The stack is distinguished by its pre-configured templates for rapid project bootstrapping. It includes integrated support for the Cloudflare D1 SQL database and Cloudflare R2 buckets, providing a predefined architecture for managing relati
Multer is a multipart form parser and file upload manager designed as middleware for Node.js and Express.js applications. It extracts text fields and uploaded files from incoming requests to populate the request body and file objects for server-side use. The project utilizes pluggable storage engines to abstract file persistence, allowing developers to switch between saving files to a physical disk or holding them as buffers in system memory. It supports customizable file naming strategies and a custom storage engine interface for defining how files are saved and deleted. The middleware incl
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
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
Javalin is a lightweight web framework for Java and Kotlin designed for building REST APIs and web applications. It functions as an embedded Jetty web server, allowing applications to run as standalone processes without the need for an external servlet container. The project provides specialized frameworks for diverse communication patterns, including a REST API framework with automatic OpenAPI schema generation, a GraphQL API framework with query and mutation resolvers, and a WebSocket server for bidirectional real-time communication. It also includes a dedicated framework for pushing real-t
在线云盘、网盘、OneDrive、云存储、私有云、对象存储、h5ai、上传、下载
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
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
Connexion is a spec-first Python web framework designed to derive server behavior and validation logic directly from a predefined API contract. It enables the development of web services by using an OpenAPI specification to automatically handle routing, request validation, and response serialization. The framework distinguishes itself by acting as an OpenAPI request validator and mock server. It can simulate API behavior by serving example responses based on specification schemas, allowing for frontend development and prototyping before a backend implementation is completed. Additionally, it
Tusd is a server implementation of the open protocol for resumable file uploads over HTTP. It functions as a gateway that streams incoming data directly to local disk or remote object storage backends, ensuring that large files can be processed without exhausting system memory. The server is designed as a modular package that can be embedded directly into existing applications, allowing developers to integrate file transfer capabilities without requiring external service dependencies. It maintains persistent state for all active transfers, enabling clients to pause and resume uploads from the
InsForge is a backend-as-a-service platform that provides an integrated suite of tools for managing relational databases, identity provision, object storage, and serverless compute. It functions as an open-source identity provider and a PostgreSQL database manager featuring integrated vector storage and row-level security. The platform serves as an LLM orchestration gateway, offering a unified endpoint to route requests across various AI providers through an OpenAI-compatible interface. It enables AI-driven application generation and connects AI agents to backend resources using a standardize
Uploader is a client-side library designed to manage asynchronous file transfers within web applications. It provides a comprehensive suite of tools for handling the entire upload lifecycle, including file selection, validation, transmission, and monitoring. The library distinguishes itself through its integration of drag-and-drop interfaces and structured queue management. It allows developers to organize multiple files into queues for sequential or parallel processing while maintaining programmatic control to start, pause, cancel, or reset individual transfer sessions. Beyond core transfer
This project is a file upload module designed for the AngularJS framework, providing a comprehensive system for managing file selection, validation, and asynchronous transmission. It enables developers to build interactive web interfaces that capture local files through standard inputs or drag-and-drop zones, facilitating the entire lifecycle of a file transfer from initial selection to server-side upload. The library distinguishes itself through its focus on cross-browser consistency and granular control over the upload process. It includes an automatic fallback mechanism that routes data th