awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
pingdotgg avatar

pingdotgg/uploadthing

0
View on GitHub↗
5,153 stars·425 forks·TypeScript·MIT·5 viewsuploadthing.com↗

Uploadthing

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 platform covers a broad range of capabilities, including cloud storage management for renaming or deleting files and the implementation of resumable uploads for large transfers. It provides a suite of UI components, such as upload buttons and dropzones, which can be styled or replaced with custom interfaces using composable hooks.

The system is designed for deployment across edge runtimes and serverless environments, with configuration handled via environment variables.

Features

  • Presigned URL Generation - Implements a presigned URL workflow to secure direct-to-storage file transfers via temporary signed links.
  • Cloud Storage File Uploads - Enables clients to upload files directly to cloud storage using presigned URLs, bypassing server ingress.
  • Cloud Storage File Operations - Enables direct transmission of files to cloud storage providers using presigned URLs and type-safe callbacks.
  • Direct-to-Cloud Uploads - Enables clients to upload files directly to cloud storage using secure, temporary presigned URLs.
  • File Upload - Integrates file selection UI components with backend bindings to manage the end-to-end upload process.
  • Upload Constraints - Defines strict logic for enforcing file type, size, and quantity limits during uploads.
  • File Upload Constraint Validation - Restricts permitted file types and maximum sizes at specific endpoints to ensure valid data ingestion.
  • Upload Buttons - Provides a single button component that opens a file selection dialog and triggers the upload process.
  • Custom Upload Endpoints - Provides named backend routes and processing rules to handle incoming file uploads.
  • Upload Verification - Triggers callback functions to process files and metadata immediately after an upload operation completes.
  • Post-Upload Processing - Executes custom server-side logic and database updates immediately after a file upload completes.
  • Logic-Based Upload Routing - Implements route-based logic to govern how the system accepts and handles file uploads.
  • Public File Serving - Delivers uploaded content via a content delivery network using consistent public URL patterns.
  • Post-Upload Processing - Triggers server-side logic and database updates via webhooks after successful file transfers.
  • Serverless Deployment - Deploys upload logic and processing callbacks across edge runtimes and serverless environments.
  • Authenticated Uploads - Secures the upload process through identity verification and metadata attachment to protect data integrity.
  • Signed URL Uploads - Generates time-limited signed URLs to allow clients to upload files directly to storage.
  • Upload Permissions - Checks user permissions and attaches custom metadata to file requests before permitting the upload.
  • Upload Request Validation - Enforces file type and size constraints through a server-side router to validate upload requests.
  • Input Validation Schemas - Verifies user-provided request data against predefined schemas to ensure integrity before initiating file transfers.
  • Upload Lifecycle Callbacks - Implements event hooks to manage the sequential flow of upload requests, including authentication and completion callbacks.
  • Standard Upload Components - Renders pre-built components for handling file selection and upload triggers.
  • Upload Interfaces - Provides components that let users select files and track upload progress through visual indicators.
  • File Upload Components - Ships a suite of pre-made UI components to handle file selection and the upload process.
  • Pre-built Upload Interfaces - Provides pre-built upload buttons and dropzones that can be embedded directly into web pages.
  • Media Uploaders - Ships integrated UI components designed to handle the selection and upload process within web applications.
  • Request Middleware - Provides middleware to intercept and authorize upload requests before granting access to storage.
  • Request Validation Middleware - Uses middleware to verify incoming request payloads and authenticate users before processing uploads.
  • Upload Server Initializers - Provides the necessary configuration to initialize the server instance and handle incoming files across different web environments.
  • MIME Type Acceptance Criteria - Produces MIME-type arrays to configure file input elements and dropzone components automatically.
  • Upload Buttons - Provides a dedicated button component that opens the native file picker and uploads files via a defined router.
  • Router Bindings - Binds the upload router to a network handler to make upload services accessible to external clients.
  • Uploaded File Management - Provides functionality to remove single or multiple files from the storage server using their unique keys.
  • REST API Integrations - Allows integration of file upload capabilities using RESTful HTTP endpoints for environments without native SDK support.
  • File Uploaders - Provides mechanisms to transmit files from a backend server environment to cloud storage.
  • Edge Deployments - Supports deploying upload logic to globally distributed edge runtimes following the WinterCG standard.
  • Access Controls - Provides management of user-specific file access permissions to toggle between public and private visibility.
  • Resumable Transfers - Implements upload sessions that can be paused and resumed using presigned URLs to ensure data integrity.
  • Resumable File Transfers - Supports large file transfers that can be paused and resumed to prevent data loss during network interruptions.
  • Presigned URL Access Controls - Controls file access by requiring presigned URLs for private objects, blocking anonymous reads.
  • Webhook Signature Verifications - Validates that incoming upload notifications are signed with a secret key to prevent unauthorized requests.
  • Custom Upload Components - Provides composable hooks to bind upload logic to custom-built components instead of using pre-built UI.
  • Upload Flow Builders - Enables the creation of tailored upload components using type-safe helper functions for custom user interfaces.
  • Upload Interface Customization - Allows customization of the visual appearance and internal content of prebuilt upload buttons and dropzones.
  • File Pickers - Provides typed hooks to trigger native device file selection and manage the upload lifecycle on mobile.
  • Drag-and-Drop File Upload - Includes a drag-and-drop area allowing users to upload files by dragging them directly into the browser.
  • Upload Error Displays - Captures upload failures to provide specific error feedback and logging to the end user.
  • Programmatic File Upload Control - Offers a hook to trigger uploads programmatically and track state from outside the component tree.
  • Environment Runtime Adapters - Implements adapters to map upload logic across different web environments and edge runtime standards.

Star history

Star history chart for pingdotgg/uploadthingStar history chart for pingdotgg/uploadthing

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Uploadthing

Similar open-source projects, ranked by how many features they share with Uploadthing.
  • transloadit/uppytransloadit avatar

    transloadit/uppy

    30,825View on GitHub↗

    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

    TypeScriptdropboxencodingfile-uploader
    View on GitHub↗30,825
  • moxiecode/pluploadmoxiecode avatar

    moxiecode/plupload

    5,618View on GitHub↗

    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

    JavaScript
    View on GitHub↗5,618
  • emdash-cms/emdashemdash-cms avatar

    emdash-cms/emdash

    10,887View on GitHub↗

    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

    TypeScriptastrocmsemdash
    View on GitHub↗10,887
  • kanbn/kankanbn avatar

    kanbn/kan

    4,403View on GitHub↗

    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

    TypeScriptbetter-authdrizzle-ormnextjs
    View on GitHub↗4,403
See all 30 alternatives to Uploadthing→

Frequently asked questions

What does pingdotgg/uploadthing do?

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.

What are the main features of pingdotgg/uploadthing?

The main features of pingdotgg/uploadthing are: Presigned URL Generation, Cloud Storage File Uploads, Cloud Storage File Operations, Direct-to-Cloud Uploads, File Upload, Upload Constraints, File Upload Constraint Validation, Upload Buttons.

What are some open-source alternatives to pingdotgg/uploadthing?

Open-source alternatives to pingdotgg/uploadthing include: transloadit/uppy — Uppy is a modular web file upload framework designed for building browser-based uploaders. It functions as a resumable… moxiecode/plupload — Plupload is a JavaScript file upload library that provides a standardized interface for managing file transfers across… emdash-cms/emdash — EmDash is an open-source content management system built on Astro that combines a visual admin panel with a… kanbn/kan — Kan is a self-hosted kanban project management tool that organizes work into boards, lists, and cards. It provides a… chakra-ui/ark — Ark is a headless UI component library that delivers accessible, cross-framework primitives with behavior governed by… midudev/jscamp — jscamp is a full-stack web development and education project focused on mastering JavaScript, TypeScript, and AI…