Bring your own bucket. No lock-in.

Your assets, unlocked

Full control of your assets, plus the developer experience your bucket's missing — easier uploads, management, and more.

easyCDN Dashboard Preview

Host with your existing bucket. easyCDN brings the magic.

Your bucket holds your files and serves them globally. easyCDN adds the developer tooling you didn't know you needed.

Direct uploads

Send files to your bucket from the browser or your server. Without spending hours on integration.

Typed SDKs & API

Drop-in React and Node.js clients, fully typed.

Image transforms

Resize, convert, and optimize images on the fly.

Ephemeral assets

Set an expiration date and assets clean themselves up automatically.

Bring Your Own Bucket

Own your storage end-to-end

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.

Cloudflare R2
Supported

Zero egress fees, S3-compatible API.

AWS S3
Coming soon

AWS via S3 + CloudFront. Point easyCDN at your S3 bucket — coming soon.

No storage or egress markups

You pay your storage provider directly. We charge a flat fee for the management layer on top.

Credentials encrypted at rest

Your bucket keys are encrypted before they ever touch our database. Never logged in plain text.

Cancel any time

Your bucket stays yours. All your data, all your URLs, all your control — even if you leave.

How It Works

Connect your bucket and start delivering globally in three simple steps

1

Connect your bucket

Bring your own Cloudflare R2 bucket. Credentials are encrypted at rest. AWS S3 coming soon.

2

Upload your files

Drag and drop files in the dashboard or integrate our React/Node.js SDKs into your app.

3

Share globally

Get instant CDN URLs for your files and serve them fast to users anywhere.

More than a dashboard

A management dashboard, typed React and Node SDKs, and the team tools to run it all — everything easyCDN layers on top of your bucket.

Dashboard

Browse, search, and organize every asset in the browser. Drag-and-drop uploads and instant shareable links — no code required.

Team collaboration

Invite teammates in one click and share projects and assets.

Projects & environments

Group assets by project to keep your environments cleanly separated.

React SDK

Drop-in Dropzone component and hooks for client-side uploads with instant previews. Fully typed.

Node SDK

Upload, persist, and sign assets straight from your backend with a fully typed server client.

API keys & access

Scoped public and secret keys for every project.

Try uploading!

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.

Integrate easyCDN in Minutes

Follow these simple steps to integrate easyCDN into your application and start uploading files.

Implementation Steps

bash
npm install @easycdn/react @easycdn/server
tsx
'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)
      }}
    />
  )
}
ts
'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 }
}
ts
'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 }
}

Ready to host your assets?

Sign up, connect your bucket, and start serving your assets.

14-day free trial • From $9/month • Bring your own bucket

Need more details?

Check out our comprehensive documentation for advanced features, API reference, and best practices.

Frequently asked questions

Everything you need to know about bringing your own bucket.

How does connecting my bucket work?
Create a Cloudflare R2 bucket, generate API credentials, and paste them into easyCDN. We use them to read and write your assets — setup takes a few minutes. AWS S3 support is coming soon.
Are my credentials and data safe?
Your bucket credentials are encrypted before they reach our database and are never logged in plain text. Your assets stay in your account — easyCDN reads and writes through your bucket, never copying your data into storage we own.
Who pays for storage and bandwidth?
You pay your provider directly, with no markups from us — and with Cloudflare R2 that means zero egress fees. easyCDN charges a flat monthly fee for the management and delivery layer on top.
Do I need to migrate my existing files?
No. easyCDN works on top of the bucket you already have, so your data never has to move.
What happens if I cancel?
Your bucket stays yours, with every asset and URL intact. Cancel any time from the billing tab — nothing is locked to easyCDN.
Is there a free trial?
Yes. Every plan starts with a 14-day free trial, so you can build before you commit.

Pricing

easyCDN Plans for Devs & Teams

Every plan includes a 14-day free trial and works with your own bucket. Get started with easyCDN.

Popular

Developer

$9/month

For solo developers shipping side projects.

  • 1 team member
  • 5 AI image generations to try (buy more via credit packs)
  • Bring your own Cloudflare R2 bucket
  • No storage or egress markups
  • Asset transformations
  • Expiring (ephemeral) assets
  • React & Node SDKs
  • Email support

Startup

$29/month

For startups and growing teams.

  • 10 team members
  • 15 AI image generations to try (buy more via credit packs)
  • Bring your own Cloudflare R2 bucket
  • No storage or egress markups
  • Asset transformations
  • Expiring (ephemeral) assets
  • React & Node SDKs
  • Priority email support

Custom

Contact us

For organizations with custom needs.

  • Unlimited team members
  • Unlimited AI image generations
  • Bring your own Cloudflare R2 bucket
  • No storage or egress markups
  • Asset transformations
  • Expiring (ephemeral) assets
  • React & Node SDKs
  • Dedicated support
  • Custom integration support
  • SLA guarantees

Ready to unlock your assets?

Start your 14-day trial, connect your bucket, and ship in minutes.

14-day free trial • From $9/month • Bring your own bucket