Your bucket holds your files and serves them globally. easyCDN adds the developer tooling you didn't know you needed.
Send files to your bucket from the browser or your server. Without spending hours on integration.
Drop-in React and Node.js clients, fully typed.
Resize, convert, and optimize images on the fly.
Set an expiration date and assets clean themselves up automatically.
We add the developer layer — uploads, transforms, and SDKs — on top of the bucket you already have, or one you spin up in five minutes.
Zero egress fees, S3-compatible API.
AWS via S3 + CloudFront. Point easyCDN at your S3 bucket — coming soon.
You pay your storage provider directly. We charge a flat fee for the management layer on top.
Your bucket keys are encrypted before they ever touch our database. Never logged in plain text.
Your bucket stays yours. All your data, all your URLs, all your control — even if you leave.
Connect your bucket and start delivering globally in three simple steps
Bring your own Cloudflare R2 bucket. Credentials are encrypted at rest. AWS S3 coming soon.
Drag and drop files in the dashboard or integrate our React/Node.js SDKs into your app.
Get instant CDN URLs for your files and serve them fast to users anywhere.
A management dashboard, typed React and Node SDKs, and the team tools to run it all — everything easyCDN layers on top of your bucket.
Browse, search, and organize every asset in the browser. Drag-and-drop uploads and instant shareable links — no code required.
Invite teammates in one click and share projects and assets.
Group assets by project to keep your environments cleanly separated.
Drop-in Dropzone component and hooks for client-side uploads with instant previews. Fully typed.
Upload, persist, and sign assets straight from your backend with a fully typed server client.
Scoped public and secret keys for every project.
Get started with your first file upload. You will receive a link to the file.
Files are uploaded and stored for demo purposes. They will be deleted shortly.
Follow these simple steps to integrate easyCDN into your application and start uploading files.
npm install @easycdn/react @easycdn/server'use client'
import { Dropzone } from '@easycdn/react'
export default function MyPage() {
return (
<Dropzone
publicKey={process.env.NEXT_PUBLIC_EASYCDN_PUBLIC_KEY}
onUploadComplete={async ({ tempId, previewUrl }) => {
const { asset } = await persistUpload(tempId)
}}
/>
)
}'use server'
import { createClient } from '@easycdn/server'
export async function persistUpload(tempId: string) {
const easyCDNServer = createClient({
secretKey: process.env.EASYCDN_SECRET_KEY!
})
const { asset } = await easyCDNServer.persist({
tempAssetId: tempId
})
return { asset }
}'use server'
import { createClient } from '@easycdn/server'
export async function uploadFile(filePath: string) {
const easyCDNServer = createClient({
secretKey: process.env.EASYCDN_SECRET_KEY!
})
const { asset } = await easyCDNServer.upload(filePath)
return { asset }
}Everything you need to know about bringing your own bucket.
Every plan includes a 14-day free trial and works with your own bucket. Get started with easyCDN.
$9/month
For solo developers shipping side projects.