Skip to content

Everything you need to host and deliver files

Short, practical guides for uploading assets, connecting a domain, controlling access and understanding usage. Written for the dashboard, not for infrastructure teams.

Getting started

CDNZero hosts your files and serves them through a global CDN. You work entirely from the dashboard — there is no cloud account to configure.

  1. Create an account and a workspace. The free plan needs no credit card.
  2. Open Assets and upload a file by dragging it in or using the file picker.
  3. Once the upload completes, open the asset to copy its CDN URL.
  4. Use the URL anywhere you would use a normal file link.
<img
  src="https://cdn.cdnzero.com/your-workspace/hero-image.webp"
  alt="Product dashboard"
  width="1200"
  height="630"
/>

Uploading files

Uploads support drag-and-drop and the system file picker, including multiple files at once. Each file shows progress, and failures are reported with a reason instead of disappearing silently.

Files upload directly to private object storage using short-lived upload links. Large files do not pass through the application server, and every upload is scoped to your workspace.

Organising assets

  • Group assets into folders and search by filename.
  • Preview files the browser can render safely.
  • Rename and delete assets; deletion asks for confirmation.
  • Every asset records its filename, content type, size, upload date, visibility and CDN URL.

File types and limits

Individual files can be up to 2 GB per file. The limit is enforced on the server as well as in the dashboard, so a modified request cannot bypass it.

Supported file types
CategoryFormats
ImagesJPEG, PNG, WebP, AVIF, GIF, SVG
VideosMP4, WebM, MOV
DocumentsPDF, DOCX, XLSX, PPTX, TXT, CSV
FontsWOFF, WOFF2, TTF, OTF
Web assetsCSS, JavaScript, JSON
ArchivesZIP

Uploads outside the allowed types or above the size limit are rejected with a clear message before any storage is consumed.

Public vs private assets

Visibility is set per asset and can be changed later from the asset details panel.

ModeWho can open itURL type
PublicAnyone with the linkStable CDN URL
PrivateOnly holders of a valid signed URLExpiring signed URL

Private assets are never exposed at a permanent public URL. Signed URLs are generated per request with a configurable expiry, and stop working when that expiry passes.

Custom domains

Serve assets from a domain you control, such as cdn.example.com. CDNZero shows the exact record to create, verifies it, then provisions an HTTPS certificate. Custom domains are available on Starter and Pro.

TypeNameValue
CNAMEcdncdnzero.app

Domain states

  • Pending DNS — the record has not been detected yet. DNS propagation can take up to a few hours.
  • Provisioning certificate — DNS is verified and the HTTPS certificate is being issued.
  • Active — assets are served over HTTPS on your domain.
  • Action required — a record is missing or conflicting; the dashboard names the record to fix.

A domain cannot be activated on another account without completing DNS verification, which prevents unrelated accounts from claiming it.

Cache invalidation

Static assets are cached aggressively because they are addressed by unique paths. When you upload a new version of a file, it receives a new URL, so visitors instantly get the new object without waiting for a cache to expire.

If you replace a file at the same path, invalidate it from the asset details panel. Invalidation accepts a specific URL or a supported path prefix, and reports whether the request was accepted or completed.

Cache-Control: public, max-age=31536000, immutable
Content-Type: image/webp
X-Cache: HIT

Invalidation is available on Starter and Pro. Public URLs remain cached for their configured lifetime, so treat invalidation as the exception rather than the default workflow.

Usage analytics

The overview reports storage consumed, asset count, CDN data transfer and request count for your workspace, along with your plan limits.

Where the numbers come from

  • Storage and asset counts come from asset metadata.
  • Bandwidth and requests come from CDN metrics and standard logs.
  • Estimated charges are derived from your plan and usage.

CDN log data is not real-time. Each metric shows its reporting period, and delayed data is labelled rather than presented as live usage. Set usage alerts to be notified before a limit is reached.

Billing

Storage, CDN transfer and requests are counted per workspace and measured against your plan each billing period. The free plan pauses uploads at its storage limit; paid plans bill transfer overage at $0.02 per GB.

The full breakdown — including overage rules and plan comparison — is in the billing and usage FAQ.

Troubleshooting

A private asset returns a 403

The signed URL has expired or was modified. Generate a new signed URL from the asset details panel.

My domain stays on Pending DNS

Confirm the CNAME record matches the name and value shown in the dashboard, and that no conflicting A or CNAME record exists. Use a DNS checker to confirm propagation.

An upload is rejected

Check the file type and size against the limits above. The dashboard shows the specific reason for the rejection.

A file still looks stale

If the asset was replaced at the same path, request an invalidation. Otherwise, upload a new version to get a fresh URL.

Still stuck? Contact support with the asset name and the time the issue occurred.

Ready to upload your first file?

Create a free workspace and follow the getting started guide. The whole flow takes a couple of minutes.

No credit card required · Cancel anytime