Free plan250 submissions a month, spam filtering included, no card.See pricing →
Guides

Make the form work.

No fluff. Each guide answers one real question up front, then shows the working code.

How these guides work

These are for the problem, not the tool. A form that sends nothing, spam arriving hourly, an email that never lands: each guide starts there and works back to the cause.

Every one opens with a direct answer in the first paragraph, so you can leave immediately if that is all you needed. Then the working code, the mistakes that look correct but are not, and the specific errors you are likely to hit with the fix for each. The snippets are the same code the product is tested against, so nothing here drifts out of date independently of the thing it documents.

All guides

Start hereHTML

Send an HTML form to email without running a server

HTML can’t email a form on its own. To send an HTML contact form to email without PHP or a server, set the form action to an endpoint that receives the POST, filters spam, and emails you. Here’s the three-line version.

Read the guide
No backend

Build a contact form without a backend

Add a working contact form without a backend, a server, or a serverless function: point it at a form endpoint that receives submissions, filters spam, and emails you. Compare the options and copy a complete example.

Read the guide
AI builders

Connect an AI-built form to email

AI website builders generate the form UI but not the backend. Paste one prompt to wire a Lovable, Bolt, v0, Cursor, or Replit form to a MakeTheForm endpoint, spam-filtered submissions by email and in an inbox.

Read the guide
Spam

Stop contact form spam without punishing your visitors

Contact form spam is almost entirely automated. A honeypot field, a time-to-submit check, and server-side filtering prevent most of it without a reCAPTCHA puzzle. Here is the setup, and when an invisible challenge is worth adding.

Read the guide
Troubleshooting

Your contact form is not sending email. Here is why

A contact form that does not email you is usually one of five things: no backend at all, an unverified sender, a spam-foldered notification, a broken SMTP configuration, or a submission that never left the browser. Work through them in order.

Read the guide
Spam

The honeypot field: spam protection nobody has to solve

A honeypot field is a hidden form input that people never see and bots always fill. Here is how a form honeypot works, the correct HTML and CSS for one, and the three mistakes that make it catch nothing or block real visitors.

Read the guide
Static sites

Add a contact form to a static site

A static website has no server to receive a form. Point a plain HTML form at a hosted endpoint and it works on GitHub Pages, Netlify, Vercel, Cloudflare Pages, S3 or any other static host: spam filtered, emailed, and stored.

Read the guide

Or start from your stack

Platform pages have the exact handler or settings panel for each tool.

All platforms

Stop reading, start shipping.

Create an endpoint, paste it into your form, and watch the first submission land.

Create free endpoint