Skip to main content
Search...
Newduck-upload is production-ready Get started

duck-upload -- modular file upload engine

@gentleduck/upload is a modular, strategy-based file upload engine with React bindings. Resumable uploads, pluggable strategies, and type-safe from backend to UI.

Built for duck-upload

A modular, strategy-based file upload engine with React bindings. Resumable uploads, pluggable strategies, and type-safe from backend to UI.

Resumable Uploads

Split large files into chunks and upload them in parallel with automatic retry. Resume interrupted uploads without starting over.

Type-Safe From Backend to UI

Every upload config, hook, and state transition is fully typed. Catch misconfigurations at compile time, not in production.

Pluggable Strategies

Swap between S3 multipart, presigned POST, or custom strategies without changing your application code.

React Bindings

useUploader hook and UploadProvider give you reactive upload state, progress tracking, and file management out of the box.

S3 & MinIO Ready

Works with S3, MinIO, Cloudflare R2, and any S3-compatible storage. Presigned URLs keep credentials off the client.

State Machine & Persistence

Built on a state machine with clear lifecycle events. Persist upload state across page reloads and app restarts.

Partners

The people and organizations that keep this project alive.