Back
Cloudinary vs Uploadthing
Trust Score comparison · March 2026
VS
Trust Score Δ
56
🏆 Cloudinary wins
Signal Comparison
1.2M/wkWeekly npm downloads120k/wk
38GitHub commits (90d)185
3kGitHub stars8.5k
41kStack Overflow questions1.2k
ActiveCommunity healthVery Active
CloudinaryUploadthing
Key Differences
| Factor | Cloudinary | Uploadthing |
|---|---|---|
| License | Proprietary | MIT |
| Language | TypeScript / Python | TypeScript |
| Hosted | Yes | Self-hosted |
| Free tier | — | — |
| Open Source | — | — |
| TypeScript | ✓ | — |
Pick Cloudinary if…
- You need image/video upload, transformation, and CDN in one service
- Optimizing media for web performance (WebP, AVIF, lazy loading)
- Building user-generated content with moderation and resizing
Pick Uploadthing if…
- Next.js app that needs file uploads without managing S3 yourself
- Type-safe upload routes with per-route validation and auth
- Serverless or edge deployment where direct S3 multipart is tricky
Side-by-side Quick Start
Cloudinary
import { v2 as cloudinary } from 'cloudinary';
cloudinary.config({
cloud_name: process.env.CLOUDINARY_CLOUD_NAME,
api_key: process.env.CLOUDINARY_API_KEY,
api_secret: process.env.CLOUDINARY_API_SECRET,
});
// Upload and auto-optimize
const result = await cloudinary.uploader.upload('path/to/image.jpg', {
folder: 'my-app',
transformation: [{ width: 800, crop: 'scale' }, { quality: 'auto', fetch_format: 'auto' }],
});
console.log(result.secure_url);Uploadthing
import { createUploadthing, type FileRouter } from 'uploadthing/next';
const f = createUploadthing();
export const ourFileRouter = {
imageUploader: f({ image: { maxFileSize: '4MB' } })
.middleware(async ({ req }) => {
const user = await auth(req);
if (!user) throw new Error('Unauthorized');
return { userId: user.id };
})
.onUploadComplete(async ({ metadata, file }) => {
console.log('Upload complete for userId:', metadata.userId);
console.log('File URL:', file.url);
return { uploadedBy: metadata.userId };
}),
} satisfies FileRouter;
export type OurFileRouter = typeof ourFileRouter;Community Verdict
Based on upvoted notes🏆
Cloudinary wins this comparison
Trust Score 86 vs 30 · 56-point difference
Cloudinary leads on Trust Score with stronger signal data across downloads and community health. That said, the other tool is worth considering if your use case matches its specific strengths above.