Guides
Contact form snippets for every static-site framework.
Copy-pasteable HTML and fetch examples that POST directly to Formhook. No backend, no API route, no server to deploy.
HTML
The canonical drop-in HTML form. The pattern every other guide builds on.
Read the guideAstro
Drop the form into a `.astro` page. No client-side JavaScript required.
Read the guideNext.js
Plain form action in a Server Component, or a Client Component with fetch and success state.
Read the guideSvelteKit
Plain HTML form in a `+page.svelte`, plus a Svelte 5 fetch handler with `$state`.
Read the guideNuxt
Plain form action in a Nuxt page, or `$fetch` in `<script setup>` with success state.
Read the guideHugo
Plain HTML form inside Hugo template syntax. No build-time backend required.
Read the guideEleventy
Drop the form into a `.njk` or `.html` template. Zero backend, zero JS.
Read the guideJekyll
Plain HTML form inside Jekyll's Liquid templates — works on GitHub Pages.
Read the guideGatsby
Plain form action in any page, or a React component with fetch + success state.
Read the guideVue
Plain HTML form, or a Vue 3 SFC with `<script setup>` and `fetch`.
Read the guideRemix
Plain form action, or a Remix `useFetcher` posting to Formhook directly.
Read the guide
Pick a framework. Ship a contact form.
The Free tier is enough for a portfolio or a small site. Sign up, create a form, paste the snippet.
Start free