Cloudflare Pages sites can now ride the IPFS network

Cloudflare is connecting its developer platform to the InterPlanetary FileSystem (IPFS). The company announced that customers will be able to serve websites built with Cloudflare Pages over IPFS, letting the same content be reached through either the standard web or the peer-to-peer network.

IPFS is a distributed file system made up of nodes that store and relay content. Participants maintain a shared index of content and where it can be found. When a node publishes content, it announces that availability to its peers, which record the mapping in their routing tables. The content itself is addressed by a content identifier (CID) that is cryptographically derived from the data — this lets any node requesting the content verify it has received the exact bytes requested.

How the integration works under the hood

The system relies on several components:

  • Pages storage: The existing storage back end for Cloudflare Pages.
  • IPFS Index Proxy: A service built on Cloudflare Workers that maintains a mapping between IPFS CIDs and the location of the corresponding data, using Workers KV for persistence.
  • IPFS node: A Cloudflare-hosted node that serves Pages content to the wider IPFS network, using a custom datastore module to talk to the index proxy.
  • IPFS network: The rest of the peer-to-peer network.

When a site owner opts in, the proxy fetches the Pages content, computes a CID for it, records the CID-to-content mapping in KV, and notifies the Cloudflare IPFS node that it can provide that CID.

CID computation for a website is recursive. The CID of a directory depends on the CIDs of the files and subdirectories inside it. A file's CID is derived from its binary content. For a typical Pages site, index.html and a static/ directory each have their own CIDs, which are then combined to produce the root CID for the deployment.

// structure example:
/
  index.html
  static/
    cats.txt
    beautiful_cats.txt

This follows the MerkleDAG model used by IPFS: a directed acyclic graph where each node's identifier is tied to its content. Cloudflare can also take advantage of commonality between files — if two files share data blocks, those blocks can be stored once and referenced multiple times, reducing storage and bandwidth requirements.

Putting a Pages site on IPFS

The workflow starts the same way any Pages deployment does. A developer builds a site with a framework like Hugo and creates a Pages project from a GitHub repository via the Cloudflare dashboard. From there:

  1. After the standard deployment is live at *.pages.dev, the site owner opts the zone into the IPFS integration (the feature is not yet publicly available).
  2. Cloudflare indexes the site content and returns a CID for the deployment.
  3. The site can be verified through an IPFS gateway at an address like https://baf...1.ipfs.cf-ipfs.com/.
  4. To make the site accessible at the same domain through IPFS clients, the owner adds a DNSLink record: a TXT entry on _dnslink. with the value dnslink=/ipfs/baf...1.
  5. Content can be further replicated by other IPFS nodes, either by running a local IPFS client or using a pinning service.

Cloudflare says the service will be refined and made generally available later this year. The company framed the move as giving back to the IPFS ecosystem, which it has supported since 2018 through an HTTP gateway that brought IPFS content to ordinary web users. Now, Pages assets will be reachable in the other direction — over the open, distributed network.

Questions and limitations

  • Can existing IPFS content be pinned to Cloudflare? No. The project is aimed at serving Cloudflare-hosted content via IPFS, not at replicating content that already lives elsewhere on the network. Cloudflare says it is still investigating how to re-provide existing IPFS content.
  • Does this centralize IPFS? No. Cloudflare has no authority to decide who runs nodes or what content nodes provide.
  • Is availability guaranteed? Yes — as long as the site is hosted on Cloudflare Pages and opted into IPFS, it will remain available on IPFS. If the owner moves to another provider, maintaining availability becomes their responsibility, though pinning services can smooth that transition.
  • Is IPFS private? Generally not. Peers and the nodes they connect to can see what content is being requested. Privacy depends on trust in those peers.
  • Can users verify content integrity? Yes, by accessing the site through an IPFS-compatible client. Ideally, the source notes, IPFS content integrity could evolve into a web standard similar to subresource integrity.