uploadfile.
Built for the files behind your product

Ship your app.
We’ll handle the files.

Typed uploads, organized storage, and controlled delivery.
Everything your files need, in one developer workspace.

An organization-wide Free pool. Paid plans for each application.
From your application to your usersUploadfile
upload.ts
const upload = createUploadthing();

export const fileRouter = {
  images: upload({ image: {
    maxFileSize: "4MB",
    maxFileCount: 10,
  } })
    .onUploadComplete(async ({ file }) => {
      // Your file is ready.
    }),
};
Your applicationOne place for every upload
Connected
A simpler path to uploaded.Validate. Upload. Deliver.
product-image.webpIllustrative file · 240 KB
Your next great featureLess infrastructure in the way
Fits the way you build
Next.jsReactVueSvelteSolidExpo
FROM FIRST UPLOAD TO EVERYDAY OPERATIONS

A complete home for
your application’s files.

The upload is one moment. Manage everything that comes after it, with your team in control.

A shorter path to upload

Declare accepted file types and sizes, authorize on your server, and upload directly to storage.

Access that stays explicit

Public or private files, signed delivery links, scoped server keys, and clear team permissions.

Every app has its own space

Keep files, API keys, plans, and usage separate while managing your people in one organization.

Know what you’re using

Track stored data, downloads, file count, and request units. Enable overages only when you choose.

Ready for the whole team

Give developers the tools to build and billing members the controls to pay, without sharing access.

A familiar developer experience

Framework adapters and typed components built from the MIT-licensed UploadThing SDK fork.

LESS FILE INFRASTRUCTURE. MORE PRODUCT.

Your next upload starts here.

Get your workspace ready, then connect your application.

Build with Uploadfile