Add a form to your static site.
No backend required.

ZeroDeploy handles form submissions on every plan. Point your HTML form at /_forms/contact, deploy, and start collecting data. No third-party service, no API keys, no extra bill.

Last updated: February 20, 2026

Add a contact form with one line of HTML

The action attribute is the only ZeroDeploy-specific part. Everything else is standard HTML.

html
<form action="/_forms/contact" method="POST">
  <input type="text" name="name" placeholder="Name" required>
  <input type="email" name="email" placeholder="Email" required>
  <textarea name="message" placeholder="Message" required></textarea>
  <button type="submit">Send</button>
</form>

No signup. No API key. No JavaScript SDK. Deploy your site and the form works. Submissions appear in your dashboard, CLI, and API.

Everything a contact form needs

A form backend built into your hosting. Nothing to integrate.

Zero configuration

Forms are created automatically on the first submission. Name a form contact, newsletter, or feedback. Just change the URL path. No dashboard setup, no schema definition.

Spam prevention built in

Add a hidden _hp honeypot field and bots get silently rejected. No CAPTCHAs annoying your visitors. No third-party spam service to configure.

Your data, your way

View submissions in the dashboard. Pull them with zerodeploy form submissions. Export to CSV. Get email notifications. Query the REST API for custom integrations.

How it works

Three steps. No accounts to create.

1

Write your form

Standard HTML. Set action to /_forms/your-form-name and method to POST. Add a honeypot field for spam prevention.

html
<!-- Honeypot: hidden from real users, catches bots -->
<input type="text" name="_hp" style="display:none" tabindex="-1" autocomplete="off">
2

Deploy your site

CLI: zerodeploy deploy. Dashboard: drag and drop your folder. GitHub: push to your connected repo.

3

Submissions start flowing

Every submission is stored and accessible via the dashboard, CLI, CSV export, or REST API. Enable email notifications to get alerted in real time.

Works with every framework

HTML forms, React forms, Vue forms. They all work the same way.

Unlike Netlify Forms, which only detects forms in static HTML at build time, ZeroDeploy processes submissions at the POST /_forms/:name endpoint. Forms rendered client-side by React, Vue, Svelte, or any other framework work without workarounds.

Dealing with this problem right now? Read Netlify Forms Not Working with React? Here's Why.

ZeroDeploy vs Formspree, Netlify Forms, and Web3Forms

A side-by-side look at how the most common form solutions compare.

Feature ZeroDeploy Formspree Netlify Forms Web3Forms
Setup None (just HTML) Account + endpoint data-netlify attribute Account + access key
JS-rendered forms Work automatically Yes (via endpoint) Requires workarounds Yes (via endpoint)
Free submissions/mo 100 50 Shared credits 250
Spam prevention Honeypot (built-in) reCAPTCHA, Akismet Honeypot hCaptcha
Email notifications Pro plan All plans Via credits All plans
CSV export Pro plan Paid plans Not available Not available
CLI access Full CLI + API API only API only Not available
Hosting included Yes No Yes (Netlify only) No
Separate bill No $8+/mo Part of Netlify plan Free tier available
Per-site limits Yes Per account Shared credit pool Per account

Formspree and Web3Forms are good products. But they're a separate service, a separate account, and a separate bill. ZeroDeploy includes form handling in your hosting. One platform, one dashboard, one invoice.

Form pricing: included on every plan

Starter — $9/mo

  • 500 submissions per month
  • 14-day free trial
  • Honeypot spam prevention
  • Dashboard + CLI access
  • Unlimited forms per site

Pro — $29/mo

  • 1,000 submissions per month included
  • $0.01 per additional submission
  • Email notifications per form
  • CSV export + REST API

For context: Formspree charges separately for form handling on top of your hosting. Netlify bundles forms into a shared credit pool where submissions compete with bandwidth and deploys. ZeroDeploy gives you 500 submissions on Starter plus hosting, analytics, and 1 custom domain — with dedicated limits for each.

Frequently asked questions

Do I need to set up anything before my form works?

No. Forms are created automatically when the first submission arrives. Point your HTML form at /_forms/your-name, deploy your site, and submissions start flowing. No dashboard setup, no schema definition.

Does it work with React, Vue, and other JavaScript frameworks?

Yes. ZeroDeploy handles form submissions at the POST endpoint level, so forms rendered by React, Vue, Svelte, Angular, or any other framework work the same way. No workarounds needed.

How does spam prevention work?

Add a hidden input field named _hp to your form. Bots fill it in; real users don't see it. Submissions with the honeypot field filled are silently rejected. No CAPTCHAs, no third-party spam services.

Can I get email notifications for form submissions?

Yes. On the Pro plan, configure email notifications per form via the dashboard or CLI. Every submission triggers an email to the address you specify.

What happens when I hit my monthly submission limit?

On the Starter plan ($9/mo), submissions return an error after 500 per month and resume the next billing cycle. On Pro, the first 1,000 are included and additional submissions cost $0.01 each. No hard cutoff on Pro.

Is ZeroDeploy a good Formspree alternative?

If you're hosting a static site, yes. ZeroDeploy gives you form handling as part of your hosting platform. No separate service, no API keys, no extra bill. If you need advanced features like Zapier integrations or file uploads, Formspree may be a better fit.

Is ZeroDeploy a Netlify Forms alternative?

For static sites and SPAs, yes. ZeroDeploy handles JS-rendered forms without workarounds (Netlify Forms can only detect forms in static HTML at build time). ZeroDeploy also uses per-site submission limits instead of a shared credit pool.

Can I use ZeroDeploy as a form backend for my static site?

Yes. The Starter plan ($9/mo) includes 500 form submissions per month with honeypot spam prevention, dashboard access, and CLI tools. No API key required. Just add action="/_forms/contact" to your HTML form and deploy.

How do I add a contact form to a static site without writing backend code?

Set your form's action attribute to /_forms/contact and method to POST. Deploy the site to ZeroDeploy. That's it. Submissions are stored automatically and accessible via dashboard, CLI, or API. See the full tutorial for a step-by-step guide.

Your next form is one line of HTML away

Free to start. No credit card. Deploy your first site with a working contact form in under a minute.