type: service
status: active
timestamp: 2026-06-20
tags: [images, host, origin, repo-hosted, cloudflare-pages, primary]

Repo-hosted images on Cloudflare Pages

Tier 1 image origin — static images committed to repo, served via CF Pages

Repo-hosted images on Cloudflare Pages

Role

Tier 1 origin in the family’s 4-tier image-host chain. The default image storage for everything that fits naturally in the repo — blog-post screenshots, hero images, og:image source files, diagrams, icons. The image lives next to the .mdx file that embeds it; deploy of the site is deploy of the image.

This is the natural pair for the markdown-in-repo-only CMS lock.

Free tier

Card / subscription required?

NO. This rides the existing Pages free plan; no extra signup, no card.

How it works

  1. Author drops hero.png into oriz-blog-site/posts/2026-06-20/ next to post.mdx.
  2. MDX embeds it: <Image src="./hero.png" alt="..." />.
  3. Build emits /posts/2026-06-20/hero.png at the deploy.
  4. Cloudflare Pages serves it from its edge, alongside the HTML.
  5. The 3-tier image-CDN chain wraps the origin URL with transforms (/cdn-cgi/image/...) for resize / format conversion.

Card / subscription required?

NO. Free.

Alternatives

Swap cost

Low — the <Image> component in @chirag127/oriz-kit owns origin resolution. Swap = change one default in the chain config. Existing images would still resolve from their committed paths.

Why this is our pick

Cross-refs


Edit on GitHub · Back to index