Framer to Cloudflare Pages: How to Export and Deploy Your Site in 2026

A person with short dark hair is smiling while wearing a black t-shirt.
Headshot of a smiling man wearing glasses and a blue shirt.

Author:

Dominik S.

Published:

Reading Time:

Framer

Cloudflare Pages

Self-Hosting

Current page

Framer's hosting model is convenient but costly at scale. Every published site carries per-site fees, the "Made in Framer" badge, and no path to custom infrastructure. Cloudflare Pages offers a compelling alternative: unlimited bandwidth even on the free tier, commercial use allowed, and 330+ edge locations worldwide — all at no cost for most static sites. This guide covers the complete workflow to get a Framer site onto Cloudflare Pages in 2026.

The Quick Answer

You cannot deploy a Framer site directly to Cloudflare Pages. Framer has no native static export. The path is: publish your site in Framer → export it to static HTML/CSS/JS using a tool like PullPage → deploy that output to Cloudflare Pages.

For a simple site, the full process takes under 10 minutes. What makes Cloudflare Pages stand out compared to alternatives like Vercel and Netlify is that its free tier has no bandwidth caps and explicitly permits commercial use — which matters for agency work and client sites.

Why Cloudflare Pages Is Worth Considering for Framer Sites

Most static hosting platforms cap free-tier bandwidth at around 100 GB per month and restrict commercial use on free plans. Cloudflare Pages does neither. Static asset requests are free and unlimited on both the free and paid tiers — a direct consequence of Cloudflare's business model as a network company, where bandwidth is infrastructure rather than a revenue line.

In practical terms, this means:

  • A viral post won't generate unexpected bandwidth bills

  • Client sites can run on the free plan without violating terms of service

  • The same pricing structure applies whether you're deploying one site or twenty

Beyond pricing, Cloudflare's edge network spans 330+ locations worldwide. That translates to fast load times regardless of visitor location — Framer's Basic and Pro plans run on a 20-location CDN by comparison. For sites where Core Web Vitals scores matter for SEO, the infrastructure difference is real.

For a broader comparison of hosting options, Self-Hosting a Framer Site in 2026: The Complete Guide covers Cloudflare Pages alongside Netlify, Vercel, and GitHub Pages.

What You Need Before You Start

Before deploying to Cloudflare Pages, you need a clean static export of your Framer site — HTML, CSS, JavaScript, and all assets bundled locally, with no dependencies pointing back to Framer's CDN.

Here's what to have ready:

  • A published Framer site (you need a live URL to export from)

  • A PullPage account (free tier works for simple sites; paid plans handle CMS content, local assets, and SEO output)

  • A Cloudflare account (free to create at cloudflare.com)

  • A GitHub account if you want automated deployments via GitHub Sync — this is the recommended setup

If your export still references Framer's CDN for fonts, images, or scripts, those assets will break or load slowly once you're off Framer's hosting. A clean export bundles everything locally. PullPage's paid plans handle this automatically.

Step 1: Export Your Framer Site to Static HTML

Framer has no built-in export feature. You need an external tool to generate a deployable static export from your published Framer URL.

PullPage is purpose-built for this. Here's how it works:

  1. Publish your site in Framer and copy the published URL

  2. Paste the URL into PullPage

  3. PullPage generates a static HTML/CSS/JS export — average export time is around 24 seconds

  4. Download the ZIP file

The export strips the "Made in Framer" watermark, removes Framer editor scripts, and preserves Framer Motion animations, hover effects, and scroll transitions. For more on what the export process covers, see Can You Export a Framer Website in 2026? Yes – Here's How.

What Gets Exported

On the free plan, you get the core HTML/CSS/JS output. Paid plans also include:

  • All assets exported as local files (images, videos, fonts, documents, 3D models)

  • SEO settings preserved, with generated sitemaps

  • CMS content included, supporting 100+ page sites and exports over 500 MB

  • GitHub Sync for direct repo commits

If your site has a Framer CMS with dozens of collection items, use a paid plan. The free export will not capture all CMS pages reliably.

Step 2: Deploy the Export to Cloudflare Pages

Once you have the ZIP, you have two deployment paths: direct upload, or GitHub-connected auto-deployment.

Option A: Direct Upload via Cloudflare Dashboard

The fastest option for a one-time or infrequent deployment.

  1. Log into Cloudflare and navigate to Workers & Pages in the sidebar

  2. Click Create applicationPagesUpload assets

  3. Give your project a name

  4. Unzip the PullPage export on your machine and drag the folder into the upload area

  5. Click Deploy site

Cloudflare processes the files and gives you a .pages.dev subdomain in under a minute. For subsequent deployments, you can upload a new folder to the same project without changing the domain or settings.

Option B: GitHub Sync for Automated Redeployment (Recommended)

This is the more durable setup if you update your Framer site regularly.

  1. In PullPage, connect your GitHub account and select a target repository (paid plans)

  2. PullPage commits the static export directly to the repo on each new export

  3. In Cloudflare Pages, go to Workers & PagesCreate applicationPagesConnect to Git

  4. Authorize Cloudflare to access your GitHub account and select the repository PullPage syncs to

  5. Set the Build output directory to the root of the export (leave the build command blank — the site is already built)

  6. Click Save and Deploy

After the initial setup, the update cycle is: edit in Framer, re-export via PullPage, and Cloudflare Pages picks up the new commit and redeploys automatically. No manual file handling.

This is the workflow that makes self-hosting practical at scale. Agencies managing multiple client sites use exactly this setup — see How an Agency Saved $1,200+ by Self-Hosting Framer Sites in 2026 for a concrete example.

Step 3: Configure Your Domain on Cloudflare Pages

Cloudflare Pages assigns a .pages.dev subdomain automatically. To use your own domain:

  1. Go to your Pages project and click Custom domains

  2. Enter your domain name and click Continue

  3. If your domain is already on Cloudflare (i.e., using Cloudflare's nameservers), the DNS record is added automatically and the site goes live in minutes

  4. If your domain is at a different registrar, Cloudflare shows you the CNAME record to add manually

Cloudflare provisions an SSL certificate automatically via its own certificate authority. Because Cloudflare also functions as a DNS provider, the domain setup is notably simpler than on Vercel or Netlify if you're already managing your DNS through Cloudflare.

Handling Framer CMS Content on Cloudflare Pages

Framer CMS is dynamic by nature. When you export a CMS-driven Framer site to static HTML, the CMS content gets rendered as static pages at export time. There is no live CMS connection after deployment.

In practice:

  • All CMS collection pages are exported as individual static HTML files

  • New CMS content added in Framer after the export will not appear on Cloudflare Pages until you re-export and redeploy

  • If your CMS updates frequently, you need a re-export workflow — either manual or automated via GitHub Sync

Cloudflare Pages' unlimited builds on the free tier (up to 500 per month) mean re-exporting and redeploying costs nothing beyond the time involved. For sites where content changes weekly or less, this is entirely manageable.

Performance on Cloudflare Pages After Export

A static Framer export on Cloudflare Pages typically delivers strong Core Web Vitals scores. The main factors:

LCP (Largest Contentful Paint): Improves significantly when assets are bundled locally rather than loading from Framer's CDN. Cloudflare's edge network serves files from one of 330+ locations worldwide — usually within milliseconds of the visitor.

CLS (Cumulative Layout Shift): Framer's layout system is CSS-based, so CLS is generally low in clean exports, regardless of host.

INP (Interaction to Next Paint): A clean export keeps Framer's interactive runtime intact, so INP stays comparable to the hosted site. Where the export helps is removing third-party tracking scripts and serving from the edge, and Cloudflare also adds free HTTP/3 and Brotli compression automatically.

Built-in analytics: Cloudflare Pages includes free, privacy-first web analytics at no extra cost — a useful baseline before adding a more detailed tracking solution.

PullPage's SEO-ready output also rewrites asset paths for optimized load times and generates a functioning sitemap. For the full configuration checklist, see How to Improve SEO for Framer Websites in 2026.

Common Issues and How to Fix Them

Broken Images or Fonts After Deployment

This happens when the export still references Framer's CDN instead of bundling assets locally. Switch to a paid PullPage plan, which exports all assets as local files, then re-export and redeploy.

Animations Not Working

Most Framer Motion animations are preserved in PullPage exports. If a specific animation is missing, it likely relies on Framer's runtime. Check the exported HTML for any remaining Framer script references.

404 Errors on Subpages or CMS Pages

Cloudflare Pages serves static files by path. If a visitor lands directly on a subpage URL that doesn't have a corresponding HTML file at that path, it will return a 404.

There are two ways to handle this. For client-side routed sites, add a _redirects file to your export's root directory:

For multi-page sites where each page has its own HTML file (the default PullPage output), this is usually not needed.

If CMS pages are returning 404, the export likely didn't capture all collection items. Verify you're on a paid PullPage plan with CMS export enabled.

Cloudflare Pages vs. Vercel vs. Netlify for Framer Exports

All three platforms work well for static Framer exports. The differences come down to pricing structure and infrastructure:

Cloudflare Pages is the most generous free tier for production use: unlimited bandwidth, commercial use explicitly allowed, and 330+ edge locations. The free plan covers most client and business sites without restriction. Limitations: 500 builds/month on the free plan (rarely an issue for most sites).

Vercel (Hobby plan) is free but restricted to personal, non-commercial projects. Business or client sites require the Pro plan at $20/seat/month. Developer experience is polished, particularly for JavaScript-heavy workflows.

Netlify offers a free plan suited to personal projects. Paid plans start at $9/month (Personal) and $20/month (Pro, per organization). Netlify has updated its pricing model to a credit-based system — check current limits before committing.

For agencies or anyone deploying commercial sites, Cloudflare Pages is the most cost-effective starting point. For a full breakdown of hosting costs when self-hosting Framer sites, see Framer Hosting Costs in 2026: What You're Actually Paying (And How to Cut It).

Framer to Cloudflare Pages: How to Export and Deploy Your Site in 2026 Cloudflare Pages delivers roughly 40ms TTFB from Asia-Pacific, Vercel around 100ms, and Netlify around 325ms on default configurations. Time to first byte from Asia-Pacific (lower is better) Cloudflare 30-50ms Vercel 80-120ms Netlify 250-400ms Source: DEV Community static-hosting benchmark (2026). Default configurations, static content.
For static files all three hosts are fast, but Cloudflare's edge has the lowest latency in independent tests. For a globally distributed audience, its 330+ edge locations give it a measurable advantage.
Framer to Cloudflare Pages: How to Export and Deploy Your Site in 2026 Cloudflare Pages serves from 330+ edge locations worldwide, while Framer's Basic and Pro plans use a 20-location CDN. Edge locations worldwide (more is better) Cloudflare 330+ Framer CDN 20 Source: Cloudflare and Framer published network documentation (2026).
Cloudflare Pages serves your exported Framer site from 330+ locations worldwide, versus the roughly 20-location CDN on Framer's Basic and Pro plans.
Framer to Cloudflare Pages: How to Export and Deploy Your Site in 2026 Cloudflare Pages delivers roughly 40ms TTFB from Asia-Pacific, Vercel around 100ms, and Netlify around 325ms on default configurations. Time to first byte from Asia-Pacific (lower is better) Cloudflare 30-50ms Vercel 80-120ms Netlify 250-400ms Source: DEV Community static-hosting benchmark (2026). Default configurations, static content.
For static files all three hosts are fast, but Cloudflare's edge has the lowest latency in independent tests. For a globally distributed audience, its 330+ edge locations give it a measurable advantage.
Framer to Cloudflare Pages: How to Export and Deploy Your Site in 2026 Cloudflare Pages serves from 330+ edge locations worldwide, while Framer's Basic and Pro plans use a 20-location CDN. Edge locations worldwide (more is better) Cloudflare 330+ Framer CDN 20 Source: Cloudflare and Framer published network documentation (2026).
Cloudflare Pages serves your exported Framer site from 330+ locations worldwide, versus the roughly 20-location CDN on Framer's Basic and Pro plans.
Framer to Cloudflare Pages: How to Export and Deploy Your Site in 2026 Cloudflare Pages delivers roughly 40ms TTFB from Asia-Pacific, Vercel around 100ms, and Netlify around 325ms on default configurations. Time to first byte from Asia-Pacific (lower is better) Cloudflare 30-50ms Vercel 80-120ms Netlify 250-400ms Source: DEV Community static-hosting benchmark (2026). Default configurations, static content.
For static files all three hosts are fast, but Cloudflare's edge has the lowest latency in independent tests. For a globally distributed audience, its 330+ edge locations give it a measurable advantage.
Framer to Cloudflare Pages: How to Export and Deploy Your Site in 2026 Cloudflare Pages serves from 330+ edge locations worldwide, while Framer's Basic and Pro plans use a 20-location CDN. Edge locations worldwide (more is better) Cloudflare 330+ Framer CDN 20 Source: Cloudflare and Framer published network documentation (2026).
Cloudflare Pages serves your exported Framer site from 330+ locations worldwide, versus the roughly 20-location CDN on Framer's Basic and Pro plans.

The Full Workflow, End to End

The complete path without ambiguity:

  1. Design and publish your site in Framer

  2. Paste the published URL into PullPage and generate a static export

  3. Download the ZIP or use GitHub Sync to commit directly to a repository

  4. Connect the repository to Cloudflare Pages — or upload the folder directly for a one-off deploy

  5. Configure your custom domain in Cloudflare Pages' project settings

  6. Re-export and redeploy whenever you update the Framer source

The economics work clearly: Cloudflare Pages' free tier handles most commercial static sites at no cost, and you eliminate Framer's per-site hosting fees entirely.

Export your Framer site and deploy it to Cloudflare Pages at pull.page

FAQ

Can I deploy a Framer site directly to Cloudflare Pages without exporting it?

No. Framer has no native export or Cloudflare integration. You need to generate a static HTML/CSS/JS export first with a tool like PullPage, then deploy that output to Cloudflare Pages.

Is Cloudflare Pages' free tier really unlimited bandwidth?

Yes, for static asset requests. Cloudflare does not enforce a hard bandwidth cap for static files served through Pages, so a traffic spike won't generate surprise bills. Only genuinely abusive load would prompt an upgrade request, which is not a concern for normal static sites.

Is commercial use allowed on Cloudflare Pages' free plan?

Yes. Unlike Vercel's Hobby plan, which is restricted to personal, non-commercial use, Cloudflare Pages explicitly allows commercial use on the free tier. That makes it a better fit for client sites and business projects.

Does Cloudflare Pages support Framer's animations after export?

Yes, provided the export preserves them. PullPage captures Framer Motion effects, hover states, and scroll transitions in the static output. Cloudflare Pages just serves the files, so it has no effect on animation behavior.

Will my Framer CMS content appear on Cloudflare Pages?

Yes, but as static pages rendered at export time. CMS content added after the export will not appear until you re-export and redeploy. This is a tradeoff of static exports, not a Cloudflare Pages limitation.

How much does it cost to deploy a Framer site on Cloudflare Pages?

The free tier covers most static sites at no cost, with commercial use allowed. You pay only for the export tool (PullPage's paid plans cover local assets, CMS export, and GitHub Sync) and optionally your domain. Framer's per-site hosting fees no longer apply.

How does domain setup on Cloudflare Pages differ from Vercel or Netlify?

If you already manage your domain's DNS through Cloudflare, adding it to a Pages project is fully automatic: Cloudflare detects the domain, adds the DNS record, and provisions SSL with no manual steps. That is faster than the equivalent process on Vercel or Netlify.

Can I automate redeployment to Cloudflare Pages when I update my Framer site?

Yes. PullPage's GitHub Sync commits each new export to a repository. Connect that repository to Cloudflare Pages and it redeploys automatically on every new commit, so the update cycle is edit in Framer, re-export, done.

How does Cloudflare Pages' edge network compare to Framer's hosting?

Framer's Basic and Pro plans use a CDN with around 20 edge locations. Cloudflare Pages serves your site from 330+ locations worldwide. For visitors in regions Framer's CDN doesn't cover well, the difference in load times is noticeable.

Is Cloudflare Pages faster than Vercel or Netlify for a Framer export?

For static files all three are fast, but Cloudflare's edge has the lowest latency in independent tests: roughly 30-50ms TTFB from Asia-Pacific versus 80-120ms for Vercel and 250-400ms for Netlify on default configurations (DEV Community benchmark, 2026). For a globally distributed audience, Cloudflare's 330+ locations give it the edge.

Ready to Export?

Keep using the world’s most powerful visual editor as your workspace. Export your Framer project in the next few seconds and reduce the monthly costs.

No credit card required.

Ready to Export?

Keep using the world’s most powerful visual editor as your workspace. Export your Framer project in the next few seconds and reduce the monthly costs.

No credit card required.

Ready to Export?

Keep using the world’s most powerful visual editor as your workspace. Export your Framer project in the next few seconds and reduce the monthly costs.

No credit card required.