Better Upload
React file uploads straight to any S3-compatible bucket, with shadcn UI parts
Better Upload is a React file-upload library split into a server package that signs upload routes and a client package that drives the browser side, so bytes go directly from the user to your own S3-compatible bucket instead of through your server. It ships a small shadcn-style registry of four UI pieces (Upload Button, Upload Dropzone, Upload Progress, Paste Upload Area) that you install into your own codebase and edit. It is framework-agnostic across Next.js, Remix and TanStack Start, and works with AWS S3, Cloudflare R2, Backblaze and Tigris. For teams that want UploadThing ergonomics without handing over their storage or their bill.
npx shadcn@latest add @better-upload/upload-dropzoneReach for this instead of UploadThing or a hand-rolled presigned-URL flow when the project already has an S3-compatible bucket and you must not add a metered third-party upload vendor. Install `@better-upload/server` for the route handler and `@better-upload/client` for hooks, then pull the UI in with the shadcn CLI namespace `@better-upload/...` — the components assume shadcn's `button` and `progress` already exist, so run `shadcn init` first or the add will fail on missing registry dependencies. Do not expect it to do image transforms, virus scanning or a media library; it stops at the upload.
Why it is here. It is the rare upload library that keeps your storage, your credentials and your bill while still giving you a dropzone you can paste in and restyle. The server/client split makes it usable in any React meta-framework rather than being locked to Next.js.
- direct-to-S3, no proxying
- shadcn CLI namespace install
- R2 / Backblaze / Tigris adapters
- paste-to-upload area
- MIT, 1.3k stars
Verified 2026-08-15. HTTP 200. https://better-upload.com, https://better-upload.com/docs, https://better-upload.com/docs/quickstart, https://better-upload.com/r/registry.json, https://better-upload.com/docs/components/upload-dropzone, https://github.com/Nic13Gamer/better-upload, GitHub API repos/Nic13Gamer/better-upload








