🔓 No paid features. 📀 Own your data. ⚡️ Start in 3 minutes
- Save time - Form backends are simple software; don't waste time building one for your static site
- No artificial limits - Commercial services often restrict you to ~50 submissions/month with no data export
- Deploy in minutes - As easy as signing up for a commercial service. Not a single line of code, not even YAML
Use FormZero for your next big thing! ⭐ Give it a star to not forget.
- Submit HTML Forms - Add FormZero's endpoint to your form's
actionattribute - Submit JSON Data - Send payloads via
fetchorXMLHttpRequest - Unlimited Forms - Create as many as you need
- Unlimited Submissions - Receive thousands per hour
- Analytics Dashboard - View submission trends and stats
- Export CSV - Download all submissions in one click
- Spam Protection - Proof of Work CAPTCHA and honeypot fields (coming soon)
- Email Notifications - Add your Resend API key to receive notifications (coming soon)
Deploy your own serverless form backend in seconds - as easy as signing up for a commercial service:
- Click the Deploy to Cloudflare button above
- Log in to your free Cloudflare account or create one (no credit card required)
- Follow the prompts - your instance will be running in 3 minutes
Everything fits within Cloudflare's free tier - receive up to 100,000 submissions/day and store up to 4,000,000 submissions for free. Upgrade later for just $5 if needed.
Here's what happens when you click the button:
- Cloudflare creates a copy of this repository in your GitHub or GitLab account
- You provide configuration options:
- Project name (e.g. "formzero")
- Database name (e.g. "formzero")
- Auth secret (use jwtsecrets.com or
openssl rand -hex 16to generate one)
- Cloudflare builds and deploys FormZero to your account
- You get a unique URL (e.g.
https://formzero.your-domain.workers.dev) to access your dashboard
Read the Cloudflare documentation for more details.
New features are added regularly. To pull them in, redeploy with the Deploy to Cloudflare button and connect the new Worker to your existing database — your forms, submissions, and endpoint URLs are all preserved:
- In your Cloudflare dashboard, rename your existing Worker to
<your-project-name>-backup— this frees the original name - Delete the GitHub repository created by your previous deployment (it has the same name as the Worker)
- Click the Deploy to Cloudflare button above and use:
- The same project name and database name as before
- Your existing database when Cloudflare offers to connect to one
- A new auth secret (generate one via jwtsecrets.com or
openssl rand -hex 16)
- Once the new Worker is live and you have confirmed everything works, delete the backup
Websites submitting to your form endpoints keep working unchanged. You'll be signed out of the dashboard because of the new auth secret - sign back in with your existing credentials.
Contributions are welcome - add features you need or fix bugs by opening an issue or submitting a pull request.
MIT
