Astro
Contact form for Astro without client-side JavaScript.
Astro is built for static sites. FormsFort is built for static forms. Drop in an HTML form, deploy anywhere, and receive submissions by email.
How it works
Three steps to production forms.
Create a form
Generate a FormsFort access key in the dashboard.
Paste into .astro
Add a standard HTML form to any .astro file. No islands or hydration needed.
Build & deploy
Run astro build and deploy to Vercel, Netlify, Cloudflare Pages, or any static host.
Setup
Astro page with contact form
---
const accessKey = "YOUR_ACCESS_KEY";
---
<form action="https://api.formsfort.dev/submit" method="POST">
<input type="hidden" name="access_key" value={accessKey} />
<input type="text" name="name" placeholder="Name" required />
<input type="email" name="email" placeholder="Email" required />
<textarea name="message" placeholder="Message" required></textarea>
<input type="checkbox" name="botcheck" style="display:none" />
<button type="submit">Send</button>
</form> Migration
Migration checklist.
Move an existing form in minutes without rebuilding markup.
Create a FormsFort form and copy your access key.
Create or open an .astro page file.
Paste the HTML form snippet into the template.
Add required fields and a botcheck honeypot.
Run astro build and deploy to your host.
Send a test submission and verify email delivery.
FAQ
Common questions.
Does this work with Astro Islands?
Yes, but you do not need them. The form is plain HTML and works without any client-side JavaScript.
Can I use this on a static Astro site?
Absolutely. FormsFort is designed for static sites. The form posts directly to our API.
What about Astro's server output mode?
FormsFort works there too. Use the same form markup; no special server code is required.
Can I add a custom redirect after submission?
Yes. Add a hidden redirect field. Cross-domain redirects require a Starter plan or higher.
Stop managing form servers.
Create a production form endpoint, migrate your first form free, and scale when you are ready.