Skip to content
FormSubmit

Guides

Step-by-step guides: add a working form to any site

Answer-first tutorials for connecting HTML, WordPress, React, Next.js, Vue, Svelte, Astro, Hugo, Jekyll, Webflow, Framer and AI-built sites to a form backend — plus spam, Sheets, Slack and Discord recipes.

HTML

HTML form without a backend

Make a plain HTML contact form send emails without PHP, Node or a server — by pointing it at a hosted form backend. Copy-paste code included.

Learn more

Next.js

Next.js contact form

Add a working contact form to a Next.js App Router site without writing a route handler, server action or email integration. Works with static export.

Learn more

React

React contact form

A copy-paste React contact form component that sends submissions to your inbox via a form backend — no Express server, no EmailJS keys in the browser.

Learn more

WordPress

WordPress form without a plugin

Add a fast, spam-protected contact form to WordPress with a Custom HTML block — no Contact Form 7, WPForms or SMTP plugin required.

Learn more

Astro

Astro contact form

Add a working contact form to a static Astro site with zero JavaScript — or as an island with inline success messages.

Learn more

Vue

Vue contact form

A Vue 3 single-file component that submits to a hosted form backend with loading, success and error states — no server needed.

Learn more

Nuxt

Nuxt contact form

Add a contact form to Nuxt 3 or 4 that works with nuxt generate and static hosting by posting directly to a form backend.

Learn more

Svelte

Svelte & SvelteKit contact form

A Svelte 5 contact form component using runes that submits to a hosted form backend — works with adapter-static.

Learn more

Hugo

Hugo contact form

Add a working contact form to a Hugo static site with a partial and a shortcode — no server, no JavaScript required.

Learn more

Jekyll

Jekyll contact form

Add a contact form to a Jekyll site (including GitHub Pages) with an include file and a form backend.

Learn more

GitHub Pages

GitHub Pages contact form

GitHub Pages only serves static files. Here's how to add a working, spam-protected contact form anyway.

Learn more

Webflow

Webflow form backend

Send Webflow form submissions to FormSubmit for webhooks, Slack and Google Sheets — while keeping your Webflow design.

Learn more

Framer

Framer form backend

Use a Framer code component to send form submissions to FormSubmit — emails, Slack, Sheets and webhooks without Framer form limits.

Learn more

Gatsby

Gatsby contact form

Add a contact form to a Gatsby site without Gatsby Functions by posting directly to a form backend.

Learn more

Eleventy

Eleventy contact form

Add a contact form to an Eleventy site using global data and a Nunjucks include, powered by a hosted form backend.

Learn more

Netlify

Netlify static site form

Use FormSubmit instead of or alongside Netlify Forms for static sites — framework-agnostic, with webhooks, Sheets and spam protection on every plan.

Learn more

Vercel

Vercel site form

Add a contact form to any Vercel-hosted site — static or Next.js — without serverless functions, email providers or databases.

Learn more

AI builders

Forms for AI-built sites

AI website builders generate beautiful forms that don't send anywhere. Here's how to connect them to a real backend with one prompt.

Learn more

File uploads

File upload form (HTML)

Accept resumes, images and documents through a plain HTML form — stored privately and linked in your email — with no backend code.

Learn more

Google Sheets

Form to Google Sheets

Automatically add every website form submission as a row in Google Sheets — using only the drive.file permission, no Zapier required.

Learn more

Slack

Form to Slack

Post every contact form, lead or support request to a Slack channel in real time using an Incoming Webhook and FormSubmit.

Learn more

Discord

Form to Discord

Get a Discord embed in any channel whenever someone fills your website form — perfect for communities, game studios and open-source projects.

Learn more

Spam

Stop form spam

A practical, layered approach to form spam — honeypots, timing checks, content filters, allowlists and captchas — and how to set each up.

Learn more

Your form backend is 60 seconds away

Sign in with Google, create a form, paste the endpoint. Free forever for small sites — no credit card.