Better Upload

Simple and easy file uploads for React. Upload files directly to any S3-compatible service with minimal setup.

export function Uploader() {
  const { control } = useUploadFiles({
    route: 'demo',
  });

  return (
    <UploadDropzone
      control={control}
      accept="image/*"
      description={{
        maxFiles: 4,
        maxFileSize: '2MB',
        fileTypes: 'JPEG, PNG, GIF',
      }}
    />
  );
}
const s3 = new S3Client();

const router: Router = {
  client: s3,
  bucketName: 'my-bucket',
  routes: {
    demo: route({
      multipleFiles: true,
      maxFiles: 4,
      fileTypes: ['image/*'],
      maxFileSize: 1024 * 1024 * 2,
    }),
  },
};

export const { POST } = createUploadRouteHandler(router);

Easy to use

It takes only a few minutes to get started and upload files directly to your S3 bucket.

Beautiful

Use copy-and-paste shadcn/ui components to rapidly build your UI.

Own your files

Upload files directly to your S3 bucket, so you have full control over files.