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.
- Create an account and a workspace. The free plan needs no credit card.
- Open Assets and upload a file by dragging it in or using the file picker.
- Once the upload completes, open the asset to copy its CDN URL.
- 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.
| Category | Formats |
|---|---|
| Images | JPEG, PNG, WebP, AVIF, GIF, SVG |
| Videos | MP4, WebM, MOV |
| Documents | PDF, DOCX, XLSX, PPTX, TXT, CSV |
| Fonts | WOFF, WOFF2, TTF, OTF |
| Web assets | CSS, JavaScript, JSON |
| Archives | ZIP |
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.
| Mode | Who can open it | URL type |
|---|---|---|
| Public | Anyone with the link | Stable CDN URL |
| Private | Only holders of a valid signed URL | Expiring 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.
| Type | Name | Value |
|---|---|---|
| CNAME | cdn | cdnzero.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: HITInvalidation 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.