Now in beta — 5GB free forever

The developer platformfor file uploads

UploadKit provides the infrastructure, SDK, and components to add production-ready file uploads to any app — in minutes.

pnpm add @uploadkitdev/next @uploadkitdev/react
// app/api/upload/route.ts
import { createUploadKitHandler } from '@uploadkitdev/next'

const router = createUploadKitHandler({
  imageUploader: f({ image: { maxFileSize: '4MB' } })
    .middleware(async ({ req }) => {
      const user = await auth(req)
      return { userId: user.id }
    })
    .onUploadComplete(async ({ metadata, file }) => {
      await db.files.create({ userId: metadata.userId, url: file.url })
    }),
})

export const { GET, POST } = router

Features

Everything you need.
Nothing you don't.

Managed Storage

Upload files directly to UploadKit-managed S3-compatible storage. CDN delivery included, no infrastructure setup required.

Bring Your Own Storage

Point UploadKit at your own S3 bucket, R2, or GCS. Keep your data in your cloud — we just handle the plumbing.

Premium Components

Drop-in React components — dropzone, button, progress bar — styled beautifully and fully customizable.

End-to-End Type Safety

Your file router is fully typed. Endpoint names, MIME types, and metadata flow from server to client without casting.

Direct Uploads

Files go straight from the browser to storage via presigned URLs. Your server never touches the bytes.

Dashboard & Analytics

Monitor uploads, bandwidth, and storage in real time. Set alerts and inspect individual files from one place.

Pricing

Simple, transparent pricing

Free

$0/forever

Perfect for side projects and early-stage apps.

  • 5 GB storage
  • 2 GB bandwidth / mo
  • 4 MB max file size
  • 1,000 uploads / mo
  • 2 projects
  • Community support
Most Popular

Pro

$15/per month

For production apps that need reliable infrastructure.

  • 100 GB storage
  • 200 GB bandwidth / mo
  • 512 MB max file size
  • 50,000 uploads / mo
  • 10 projects
  • Priority email support

Team

$35/per month

For growing teams with higher volume and more projects.

  • 1 TB storage
  • 2 TB bandwidth / mo
  • 5 GB max file size
  • 500,000 uploads / mo
  • 50 projects
  • Dedicated support

Ready to ship uploads?

Start with 5GB free. No credit card required.