Your frontend stays yours
Use HTML, an Astro build, a React app, or a Next.js static export. Keep your CSS and fields; the browser can POST from any of them.
Forms for static websites
Collect submissions from GitHub Pages, Cloudflare Pages, Vercel or any static host. Form Koi provides the form backend, submission inbox, spam protection and email notifications.
250 submissions/month free. No credit card required.
Use HTML, an Astro build, a React app, or a Next.js static export. Keep your CSS and fields; the browser can POST from any of them.
Set the form action to the URL from your workspace. You do not need to add a server function to your hosting account.
Your form endpoint can stay the same. Update allowed origins when the website’s scheme or domain changes, then test from the new deployment.
Replace the complete action URL, verify your recipient, and set an HTTPS thank-you destination in form settings. This example starts with a honeypot; copy your workspace’s updated markup when enabling Turnstile.
<form action="https://api.formkoi.com/f/YOUR_PUBLIC_FORM_KEY" method="POST">
<label for="name">Your name</label>
<input id="name" name="name" autocomplete="name" required>
<label for="email">Email address</label>
<input id="email" name="email" type="email" autocomplete="email" required>
<label for="message">Your message</label>
<textarea id="message" name="message" required></textarea>
<!-- Leave this hidden anti-spam field empty. -->
<input type="text" name="botcheck"
tabindex="-1" autocomplete="off" style="display:none" hidden>
<button type="submit">Send message</button>
</form>Want a styled starting point? Download a contact form template.
| Where you host | What to check |
|---|---|
| GitHub Pages | Use the full Form Koi endpoint. If your site lives under a repository subpath, include that path in your thank-you URL; allowed origins use only the scheme and host. |
| Cloudflare Pages | Test your custom domain and preview domain separately. Configure the intended origins and Turnstile hostnames before enforcing protection. |
| Vercel | The direct browser POST works for static pages and framework apps. A changing preview hostname may require a separate test form or explicit origin configuration. |
| Netlify or another static host | Connect the endpoint and remove any previous provider-specific form handler that would intercept submission. Recheck redirects, origins and spam settings. |
Start free with 250 submissions a month, spam protection and email delivery tracking. Pro adds private file uploads and 10,000 monthly submissions, shared across your forms, for $12/month or $120/year.
Collect project briefs and screenshots with 5 GiB of private storage included. Uploads require Pro: up to 3 files per submission, 5 MiB each and 10 MiB total. Extra usage is optional, with a monthly spending cap you choose.
Frequently asked questions
No. Keep your existing website host. Form Koi receives the form submission and handles the inbox and notification workflow.
Yes, a native HTML POST works without a custom submit handler. If you enable Turnstile, its widget requires JavaScript. Inline feedback also needs a JavaScript handler.
The public form endpoint can stay the same. Check the website domain, allowed origins, Turnstile configuration and thank-you URL after a move. Test a submission from the new site before considering migration complete.
No. The host still needs to serve the page so visitors can open and submit the form. Form Koi handles submissions independently, but does not replace website hosting.
Start with Form Koi Free