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

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

File upload library

Ranking updated Jul 18, 2026

For upload handlers, the strongest matches are blueimp/jquery-file-upload (This is a client-side widget and library for managing), thoughtbot/paperclip (Paperclip is a mature Ruby library that integrates directly) and moxiecode/plupload (Plupload is a client-side library that provides a robust). simple-uploader/uploader and fineuploader/fine-uploader round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Find the best file upload libraries for your project. Compare top-rated GitHub repositories by features and activity to pick the right one.

File upload library

Find the best repos with AI.We'll search the best matching repositories with AI.
  • blueimp/jquery-file-uploadblueimp avatar

    blueimp/jQuery-File-Upload

    30,748View on GitHub↗

    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

    This is a client-side widget and library for managing file uploads, providing essential features like chunked transfers, image processing, and validation, though it focuses on the browser-side interface rather than server-side storage backends.

    PHPChunked UploadersFile Type ValidatorsMultipart Upload Utilities
    View on GitHub↗30,748
  • thoughtbot/paperclipthoughtbot avatar

    thoughtbot/paperclip

    9,020View on GitHub↗

    Paperclip is an ActiveRecord file attachment manager that links database models to files stored on local disks or cloud storage. It functions as a system for managing file attachments, a fingerprinting system for detecting duplicates and verifying integrity, and a MIME type validator to ensure uploaded files match allowed formats. The project features an image processing pipeline that uses command-line utilities to automatically generate thumbnails and scaled versions of images based on predefined dimensions. It also provides S3 compatible file storage for managing attachments in Amazon S3 an

    Paperclip is a mature Ruby library that integrates directly with ActiveRecord to handle file attachments, storage backend management, and automated image processing, making it a specialized tool for managing uploads within web applications.

    RubyFile Type ValidatorsImage ProcessingS3-Compatible Storage Adapters
    View on GitHub↗9,020
  • 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

    Plupload is a client-side library that provides a robust interface for managing file uploads, including essential features like chunked transfers, image processing, and multipart support, though it requires a separate server-side implementation to handle the actual storage backend.

    JavaScriptChunked UploadersLarge File UploadsMultipart Form Uploads
    View on GitHub↗5,618
  • simple-uploader/uploadersimple-uploader avatar

    simple-uploader/Uploader

    875View on GitHub↗

    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

    This library provides the core functionality for managing chunked, resumable file uploads in web applications, though it focuses on the client-side transfer process rather than server-side storage or image processing.

    JavaScriptChunked Uploaders
    View on GitHub↗875
  • fineuploader/fine-uploaderFineUploader avatar

    FineUploader/fine-uploader

    8,149View on GitHub↗

    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.

    Fine Uploader is a comprehensive client-side library that handles chunked uploads, image processing, and direct-to-cloud storage transfers, serving as a robust frontend component for managing file uploads.

    JavaScriptChunked Uploaders
    View on GitHub↗8,149
  • fex-team/webuploaderfex-team avatar

    fex-team/webuploader

    7,647View on GitHub↗

    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

    This is a client-side library for managing file uploads in the browser, providing essential features like chunked uploads, image compression, and file integrity verification to handle the frontend portion of the upload process.

    JavaScriptChunked Uploaders
    View on GitHub↗7,647
  • expressjs/multerexpressjs avatar

    expressjs/multer

    12,055View on GitHub↗

    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

    Multer is a specialized middleware for handling multipart form data and file uploads in Node.js applications, providing essential features like storage engine abstraction and request validation.

    JavaScriptMultipart Form Parsing
    View on GitHub↗12,055
  • simple-uploader/vue-uploadersimple-uploader avatar

    simple-uploader/vue-uploader

    2,119View on GitHub↗

    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

    This library provides a robust client-side framework for managing chunked, resumable file uploads and queue orchestration within Vue applications, though it focuses on the interface and transmission layer rather than server-side storage or image processing.

    VueChunked Uploaders
    View on GitHub↗2,119
  • 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

    Uppy is a comprehensive client-side framework for managing file uploads, providing robust support for chunked transfers, resumable uploads, and various storage integrations, though it focuses on the browser-side interface rather than backend server-side storage processing.

    TypeScriptChunked Uploaders
    View on GitHub↗30,825
  • pqina/filepondpqina avatar

    pqina/filepond

    16,321View on GitHub↗

    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

    FilePond is a robust client-side library for managing file selection, validation, and processing, providing the necessary interface and transmission logic to handle uploads before they reach your server.

    JavaScriptImage Optimization Tools
    View on GitHub↗16,321
  • prisma-labs/graphql-yogaprisma-labs avatar

    prisma-labs/graphql-yoga

    8,524View on GitHub↗

    GraphQL Yoga is a GraphQL server framework designed for building APIs that operate across all JavaScript environments. It utilizes the WHATWG Fetch API to provide a standardized request and response interface, enabling the server to run on serverless and edge computing platforms. The framework includes a specialized server for processing file uploads via the standard GraphQL multipart request specification and a subscription server that delivers real-time data streaming through server-sent events. An extensible plugin framework allows for the injection of custom behaviors and logic into the r

    GraphQL Yoga is a GraphQL server framework that includes built-in support for multipart file uploads and middleware-based request processing, making it a capable tool for handling file ingestion within a web API.

    TypeScriptServer FrameworksFetch API ImplementationsFetch-Based GraphQL Servers
    View on GitHub↗8,524
  • pingdotgg/uploadthingpingdotgg avatar

    pingdotgg/uploadthing

    5,153View on GitHub↗

    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

    This is a comprehensive file upload management service that handles the end-to-end process of validation, secure storage integration, and client-side interaction, making it a strong fit for managing file uploads in web applications.

    TypeScriptCloud Storage File OperationsCloud Storage File UploadsDirect-to-Cloud Uploads
    View on GitHub↗5,153
  • flowjs/flow.jsflowjs avatar

    flowjs/flow.js

    2,989View on GitHub↗

    A JavaScript library providing multiple simultaneous, stable, fault-tolerant and resumable/restartable file uploads via the HTML5 File API.

    This library provides a robust client-side solution for handling chunked and resumable file uploads, which is a core component of a file upload handler even though it focuses primarily on the transport layer rather than server-side storage or image processing.

    JavaScriptForm ComponentsForm Components
    View on GitHub↗2,989
  • brandonsavage/uploadbrandonsavage avatar

    brandonsavage/Upload

    1,656View on GitHub↗

    Upload is a PHP library designed to manage the processing and persistence of files submitted through web forms. It provides a framework for handling incoming file data, ensuring that assets are validated against security and quality constraints before being moved from temporary locations to permanent storage. The library distinguishes itself through a modular architecture that decouples file handling logic from specific implementation details. It utilizes a strategy-based abstraction layer for storage, allowing for interchangeable backends, and employs a middleware-driven pipeline to process

    This library provides a structured approach to handling file uploads in PHP with built-in validation and support for multiple storage strategies, fitting the core requirements for managing and processing web-based file uploads.

    PHPForm HandlingFile Storage ManagementFile Upload Handling
    View on GitHub↗1,656
  • jaydenseric/graphql-uploadjaydenseric avatar

    jaydenseric/graphql-upload

    1,439View on GitHub↗

    GraphQL Upload is a utility for Node.js environments that enables GraphQL servers to process file uploads. It functions by integrating custom scalar types into the GraphQL schema and providing middleware to intercept and parse incoming multipart requests. The library distinguishes itself by handling file data as asynchronous readable streams, which allows servers to process large files without requiring intermediate local disk storage or loading entire files into memory. It also incorporates resource protection mechanisms, including configurable limits on file sizes and the total number of fi

    This middleware provides the necessary multipart request handling and file upload scalar for GraphQL servers, serving as a specialized component for managing uploads within a web application's data layer.

    JavaScriptRequest Size LimitersMultipart Form Parsing
    View on GitHub↗1,439
  • verot/class.upload.phpverot avatar

    verot/class.upload.php

    881View on GitHub↗

    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 PHP class provides robust file upload handling and integrated image manipulation, making it a suitable tool for managing and processing uploads despite its focus on a single-file class architecture.

    PHPImage Processing LibrariesFile UploadFile Upload Management
    View on GitHub↗881
  • friendsofcake/cakephp-uploadFriendsOfCake avatar

    FriendsOfCake/cakephp-upload

    546View on GitHub↗

    CakePHP: Handle file uploading sans ridiculous automagic

    This library provides a structured way to handle file uploads within the CakePHP framework, offering features like storage backend integration and validation that align with the requirements for a file upload handler.

    PHPFile Manipulation
    View on GitHub↗546
  • uploadcare/file-uploaderuploadcare avatar

    uploadcare/file-uploader

    103View on GitHub↗

    Stack-agnostic library for uploading, processing, and editing images on-the-fly

    This is a client-side library designed to handle file uploads and image processing, providing the necessary interface for managing uploads before they reach your server.

    TypeScriptFile Upload
    View on GitHub↗103
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
blueimp/jquery-file-upload30.7KPHPMITApr 8, 2026
thoughtbot/paperclip9KRubyNOASSERTIONJul 13, 2023
moxiecode/plupload5.6KJavaScriptAGPL-3.0Jul 18, 2024
simple-uploader/uploader875JavaScriptNOASSERTIONJan 24, 2024
fineuploader/fine-uploader8.1KJavaScriptMITNov 19, 2018
fex-team/webuploader7.6KJavaScriptBSD-3-ClauseJan 27, 2021
expressjs/multer12.1KJavaScriptMITJun 15, 2026
simple-uploader/vue-uploader2.1KVueMITMay 15, 2024
transloadit/uppy30.8KTypeScriptMITJun 16, 2026
pqina/filepond16.3KJavaScriptmitFeb 19, 2026

Related searches

  • File upload component
  • a library for method agnostic HTTP routing
  • a javascript library for file uploads
  • a javascript library for drag and drop
  • a file drop service
  • Data migration tools
  • a screenshot uploader
  • HTTP web server