Documentation menu

upup vs UploadThing

UploadThing (by Ping Labs) is a hosted file-upload service for full-stack TypeScript apps: you install its open-source SDK, drop in its UploadButton / UploadDropzone components, and files land in UploadThing's managed storage — no bucket or infrastructure to run. It's a fast, type-safe way to ship uploads, especially on Next.js. The core trade-off against upup is the model: UploadThing is a paid managed service that stores your files on its own infrastructure and is focused on the upload button/dropzone, while upup is an MIT, self-hosted library that writes to your S3-compatible storage and adds cloud drives, camera and screen capture, image editing, and native UI for six frameworks.

At a glance

FeatureUploadThingupup
ModelHosted SaaS (managed storage + CDN)Self-hosted library (your storage)
Native first-party UIReact components (UploadButton / UploadDropzone) + adapters for Next.js and other full-stack frameworks (Solid, Svelte, Vue, Nuxt, Expo, and more)React, Vue, Svelte, Angular, Vanilla JS, Preact
Headless coreReact hooks (coupled to the service)Yes (@upupjs/core, framework-agnostic)
License / pricingOpen-source SDK (MIT); the service is a paid SaaS with a free tier and usage-based plansMIT, free & open source (you pay only for your own storage)
Storage / self-hostManaged — files are stored on UploadThing's infrastructureAny S3-compatible storage you own (AWS, MinIO, R2, Spaces, Wasabi, Backblaze) via @upupjs/server
Cloud-drive sourcesNoGoogle Drive, OneDrive, Dropbox, Box
Camera / screen captureNoYes (both)
Image editorNoYes — React/Preact only
Resumable uploadsNot a primary featureYes — optional (tus or S3 multipart)
i18nNoYes (ICU locale bundles)

Choose UploadThing if

  • You want zero storage infrastructure — a managed service that stores files and serves them over a CDN for you.
  • You're building on Next.js (or another supported full-stack framework) and want the fastest, most type-safe path to a working upload button.
  • You're comfortable with a hosted, paid service owning the storage layer.

Choose upup if

  • You want files kept in your own S3-compatible storage, avoiding a per-GB SaaS bill and third-party custody of your data.
  • You need cloud-drive sources, camera, screen capture, or image editing.
  • You want native UI across six frameworks and a fully MIT, self-hosted stack — including an HMAC-signed server trust model.