این صفحه هنوز به فارسی نیست و به انگلیسی نمایش داده می‌شود.

Does Cloudflare Pages have forms? 4 ways to get submissions

Quick answer

No. Cloudflare Pages includes up to 100 custom domains per project, and it has no form that stores entries. If your site is one landing page, choose Convika's Free plan: your own subdomain, a form that shows 50 signups a month and keeps the rest, and 90 days of visitor stats.

Host my page with a form

Free plan: no credit card, 1 published page, 50 form entries a month shown.

On this page

Pages is generous with hosting. Requests for static files cost nothing. Custom domains come with the free plan, up to 100 per project, and so does Web Analytics. What Pages does not have is a place where form entries end up. There is no forms feature to switch on, as Netlify has. A <form> on a Pages site needs something you add.

Cloudflare's docs give 2 routes: write a Pages Function, or send the form to a third-party form service like Formspree. A Pages Function shares the Workers Free allowance of 100,000 requests a day. There are 2 more routes: the Static Forms plugin, and hosting the page on Convika. This page goes through all 4, with the free allowances behind each.

Cloudflare Pages' free plan at a glance

What you getCloudflare Pages FreeSource
Price$0Cloudflare docs: Pages limits, Cloudflare docs: Workers pricing
Addressyourproject.pages.devCloudflare docs: Direct Upload
Your own domainYes, up to 100 per projectCloudflare docs: Pages limits
FormNone built in; you write a Pages Function, or add a form serviceCloudflare docs: Static Forms plugin
Visitor statsYes, Web Analytics, freeCloudflare docs: Web Analytics for Pages
Badge on your siteNoneLive check of Cloudflare's Pages form demos, October 12, 2026
Commercial useNo restriction found in Cloudflare's docs or termsCloudflare terms: Developer Platform
An HTML file you already haveYes: drag a folder or zip that contains itCloudflare docs: Direct Upload

Checked on October 12, 2026 against Cloudflare's own pages, linked in each row. Prices in US dollars.

Does Cloudflare Pages have a form feature

No. Cloudflare's tutorial Create a HTML form starts with a plain HTML form on Pages, then points out the gap: “However, there is currently no request handler at the /api/submit address.” The tutorial fills it with a Function and ends with this summary: “You created a static HTML document with a form that communicates with a Worker handler to parse the submission request(s).” The Function reads the entry and replies with it. Nothing in the tutorial saves it.

Pages also offers a plugin for forms, and it too hands the work to your code. Its docs say “The Static Forms Pages Plugin intercepts all form submissions made which have the data-static-form-name attribute set.” and “This allows you to take action on these form submissions by, for example, saving the submission to KV.”

4 ways to get submissions from a Pages site

WayWhat you set upWhere entries end upFree allowance
A Pages Function you writeA handler in functions/, plus storage such as D1 or KVWherever your code saves them100,000 requests a day, shared with any Workers on the account; D1: 100,000 rows written a day
The Static Forms plugindata-static-form-name on the form, plus a Function that receives each entryWherever your code saves them; the plugin stores nothingThe same Workers allowance
Formspree, as in Cloudflare's second tutorialThe form's action set to your Formspree endpointFormspree's dashboard, with an email for each submission50 submissions a month, kept for 30 days
Host the page on Convika insteadUpload the HTML and click Add a form to my pageConvika's dashboard, with CSV export and an email for each50 entries a month shown on Free; later ones kept with the page for Pro

The first 2 ways keep everything on Cloudflare. You own the code: validation, spam checks, where entries are stored, and how you read them. Cloudflare's second tutorial, Add an HTML form with Formspree, introduces Formspree in one sentence: Formspree “is a back-end service that handles form processing and storage, allowing developers to include forms on their website without writing server-side code or functions.”

Limits on the free plan, and what counts against them

  • Static files: “On both free and paid plans, requests to static assets are free and unlimited.”
  • Functions: “Requests to your Functions are billed as Cloudflare Workers requests.” Workers Free sets the limit: “Accounts on the Workers Free plan have a daily request limit of 100,000 requests, resetting at midnight UTC.”
  • Paid Workers: “The Workers Paid plan includes Workers, Pages Functions, Workers KV, Hyperdrive, and Durable Objects usage for a minimum charge of $5 USD per month for an account.”
  • Custom domains: You get 100 custom domains per project on the free plan.
  • Where new projects should start: Cloudflare's Pages docs now say “Start new projects with Workers.”

What Cloudflare's own form demos show

On October 12, 2026, Convika loaded the live demos for both of Cloudflare's form tutorials without an account and read their HTML. No form entries were sent.

  • The Function demo: The demo at submit.pages.dev has <form method="POST" action="/api/submit">. The page says the endpoint is a Pages Function that returns the fields as JSON. An OPTIONS request to /api/submit answered 405.
  • The Formspree demo: The demo at formspree-example-cloudflare-html.pages.dev has <form method="POST" action="https://formspree.io/f/…">. Its entries go straight to Formspree and never reach the Pages project.

Neither page carries a Cloudflare badge.

A year with a working form: what each route costs

You run a waitlist page on your own domain that collects signups for 12 months.

  • Pages with a Function and D1: $0 on the free plans, plus the domain, plus the code you write and keep running.
  • Pages with Formspree Free: $0, plus the domain, within 50 submissions a month, kept for 30 days.
  • Convika Free: $0, plus the domain. The form shows 50 entries a month and keeps later ones for Pro, stored with the page, with no code.

A free form that keeps signups with no code: Convika

Convika hosts landing pages, 1 HTML page each, with the form and the visitor stats built in. The HTML you'd deploy to Pages uploads as it is. Convika's Free plan includes:

  • Your own subdomain, such as www.yourbrand.com or waitlist.yourbrand.com, with the SSL certificate issued for you. The Free plan connects 1.
  • Commercial use on every plan, Free included, under section 7 of the terms. That covers a client's page you build, host, and bill for.
  • A form that keeps the signups. Click Add a form to my page, and Convika adds a form that stores each entry, emails it to you, and exports to CSV. Free shows 50 entries a month. Signups past that aren't turned away: they're kept, and show once you're on Pro.
  • 90 days of visitor stats: visits, referrers, UTM campaigns, devices, countries, and button clicks.
  • AI clients that publish for you. Claude, Claude Code, and Codex connect to Convika's MCP server and sign in to your account with OAuth, so you never paste a deploy token or API key into the chat. They can read the page's visits and form entries back to you, too.

3 ways to get your page onto Convika

  1. Rebuild it from its link. Paste the address of the page you have now into the free rebuild tool and click Rebuild my page. You don't need an account. Convika reads the page, keeps its colors and fonts, writes a new version from its text, and lists what it changed and why. Click Keep this page to sign up free and move it into your account.
  2. Describe it in the dashboard. Sign up free, click Create with AI, and describe the page, or paste a link to a page it should start from. A new page costs 1 AI credit on the default model, and Free accounts start with 10.
  3. Upload the HTML your AI made. If ChatGPT, Claude, or Gemini wrote the page as one HTML file, click Upload an HTML file in the dashboard and add the .html or .htm file, up to 2 MB, or paste its code. Uploading uses no AI credits. The free HTML publishing tool shows you a preview before you sign up.

The Free plan includes 1 published page, with a small Convika bar at the bottom of each page. Pro costs $12 a month, removes the bar, and shows every form entry.

Where Cloudflare Pages fits better: Cloudflare Pages fits a multi-page static site, or an app with a backend you're writing anyway.

Cloudflare Pages and Convika side by side

PlanPriceAddressYour own domainFormBadgeVisitor stats
Cloudflare Pages Free$0yourproject.pages.devYes, up to 100 per projectNone built in; you write a Pages Function, or add a form serviceNoneYes, Web Analytics, free
Convika Free$0yourpage.convika.page1 subdomain, such as wwwYes, 50 entries a month, with CSV export and an email for each; entries past that are kept for ProA small Convika bar at the bottom of the page90 days: referrers, UTM campaigns, devices, countries, and button clicks
Convika Pro$12 a month, or $108 a yearThe same, or your own subdomainUnlimited subdomainsYes, no monthly capNoneUp to all time

The guide Ways to make a page's form save entries compares more form services for a page that stays on another host.

Which one to pick

  • A site that already runs code on Cloudflare: write a Pages Function, writing entries to D1 or KV. It is free within the Workers allowance, and the entries stay on your account.
  • A static site on Pages where you would rather not write a handler: add Formspree, as Cloudflare's tutorial shows, within its free monthly allowance.
  • One landing or waitlist page that needs a form and your own domain, with no code: pick Convika's Free plan. Upload the HTML, add the form, and connect a subdomain such as www.

Frequently asked questions

Does Cloudflare Pages have forms?

No, Cloudflare Pages has no forms feature that stores entries. Cloudflare's tutorials either have you write a Pages Function to receive each submission or send the form to Formspree. The Static Forms plugin also passes each entry to code you write.

How do I handle form submissions on Cloudflare Pages?

Write a Pages Function at the path your form posts to, read the fields, and save them somewhere, such as D1 or KV. Functions count against the Workers Free allowance of 100,000 requests a day, shared with any Workers on the account. Without code, point the form's action at a form service such as Formspree.

What is the Cloudflare Pages Static Forms plugin?

The Static Forms plugin is a Pages Plugin that catches submissions from forms marked with data-static-form-name and hands each one to a function you write. It does not store entries itself. Its docs give saving to KV as an example of what your function can do.

How do I add a contact form to a Cloudflare Pages site?

Add the HTML form, then give it somewhere to send entries. That can be a Pages Function you write, or a form service's endpoint in the form's action, as in Cloudflare's Formspree tutorial. If the site is a single landing page, you can host it on Convika instead and click Add a form to my page; each entry is stored and emailed to you.

Can Cloudflare Pages email me form submissions?

No, Cloudflare Pages cannot email you submissions by itself. A Pages Function needs code that sends the email. Formspree's free plan sends an email for each submission, and Convika's form emails each new entry to you, up to 50 a month on Free.

Is a custom domain free on Cloudflare Pages?

Yes, Pages projects on the free plan can use 100 custom domains per project. You still buy the domain from a registrar. An apex domain such as example.com needs its nameservers moved to Cloudflare; a subdomain needs only a CNAME record, as Cloudflare's custom domain docs explain.

Can I use Cloudflare Pages for a business site?

Yes, no restriction on business use appears in Cloudflare's Pages docs or its Developer Platform terms, which say “Unlike most Cloudflare products, the Developer Platform can be used to host content.” One clause in Cloudflare's Self-Serve Subscription Agreement covers every site on its free services: under section 2.2.1(h), you will not “process or collect personal or business credit card information on any web property that is receiving Free Services”. Cloudflare's plans page describes the Free plan under Network & CDN as “For personal or hobby projects that aren't business-critical.” That is how Cloudflare pitches the plan, not a term of the agreement. The form is the part you add yourself.

Sources

Facts on this page about Cloudflare Pages come from these pages, read on October 12, 2026:

Next step

How to share an HTML file as a link that opens on any phone

Email and Google Drive open HTML on a phone without scripts. Compare 5 hosts (Netlify Drop, Tiiny Host, Pagelive, GitHub Pages, Convika) and follow 4 steps.

Related articles

Compare with other hosts

Share this article

A landing page whose form keeps every signup

Upload the HTML you would put on Pages, add Convika's form, and connect your subdomain. There is no Function, no database, and no form service.

Host my page with a form

Free plan: no credit card, 1 published page, 50 form entries a month shown.