# Better Upload

> Open-source file upload library for React connecting to S3-compatible storage

Better Upload is an open-source file upload library for React applications that uploads directly to any S3-compatible service. It provides shadcn/ui-styled components and simple React hooks, serving as a self-managed alternative to services like UploadThing.

Website: https://better-upload.com/

## What it is for

- Upload files directly to personal S3 buckets without routing traffic through a third-party SaaS
- Add drag-and-drop file upload interfaces to Next.js, Remix, or Hono web apps
- Style upload dropzones using copy-and-paste shadcn/ui React components

## Features

- Direct uploads to any S3-compatible storage provider
- Pre-built dropzone components styled with shadcn/ui
- useUploadFiles React hook for state management
- Server-side route handlers compatible with Next.js, Remix, and Hono
- Configurable constraints including max file count, size, and file type restrictions

## Pricing

Open source. Free and open-source (bring your own S3 storage)

## Details

- Type: Web app
- Category: [Development](https://xiry.app/topics/development.md)
- Open source: yes
- Platforms: Code library
- For: React and Next.js developers needing custom S3 file uploads
- Alternative to: UploadThing
- Tags: react, nextjs, s3, file upload, shadcn ui, typescript

## Why it was saved

- [@ErfanEbrahimnia, 6 August 2025](https://x.com/ErfanEbrahimnia/status/1953134214892650808): Framework-agnostic, bring your own S3 bucket, ships shadcn/ui components, works with Next.js, Remix, Hono. Minimal setup with a useUploadFiles hook and UploadDropzone component.

## Related

- [Gray UI CRM](https://xiry.app/resources/gray-ui-crm): Open-source CRM data grid and interface template built with Next.js and shadcn/ui (GitHub repo, Open source)
- [assistant-ui](https://xiry.app/resources/assistant-ui): Open-source TypeScript and React component library for building AI chat interfaces (Web app, Open source)
- [bazza/ui Data Table Filter](https://xiry.app/resources/bazza-ui-data-table-filter): Linear-style data table filtering component for React, shadcn/ui, and TanStack Table (Web app, Open source)
- [Opensource UI](https://xiry.app/resources/opensource-ui): Free copy-paste React and Next.js components and device mockups (Web app, Open source)
- [Precedent](https://xiry.app/resources/precedent): Opinionated Next.js starter template with prebuilt components, hooks, and auth (GitHub repo, Open source)
- [Steven Tey's Starter Template Stack (Precedent)](https://xiry.app/resources/steven-tey-s-starter-template-stack-precedent): A full-stack Next.js tech stack for fast project prototyping and deployment. (List, Free)

Updated 10 October 2026. Page: https://xiry.app/resources/better-upload

Make your own library: Xiry takes your saved reels, tweets, Reddit bookmarks and Watch Later videos, makes them searchable and pulls the useful stuff out, like this library. It's invite-only for now; join the waitlist at https://xiry.app/#waitlist.
