Skip to content
FormSubmit

Contact form

A free contact form for your website

Add a working contact form to any website in a few minutes: paste the code, point it at your FormSubmit endpoint, and every message lands in your inbox, with spam filtered out. No server, no PHP, no plugin.

Customise

Build your contact form

Add, remove or reorder fields, then open Get code and pick your platform. No account needed until you want submissions.

Add field

Fields (3)

Field settings

The key used in submissions, emails and integrations.

Simple HTML contact form code

This is a complete, accessible contact form. Paste it into any page, replace YOUR_FORM_ID with your endpoint, and it's live. The hidden _gotcha field is a honeypot that catches bots.

  1. 1Customise the contact form fields, or start from the copy-paste HTML.
  2. 2Paste the code into your website: any page, builder or framework.
  3. 3Create a free FormSubmit account and replace YOUR_FORM_ID with your endpoint.
  4. 4Submit a test message. It arrives in your inbox within seconds.

Want it styled? Export a CSS or Tailwind version from the contact form generator. New to forms? Read how to send an HTML form to email.

contact.html
<form action="https://formsubmit.app/f/YOUR_FORM_ID" method="POST">
  <div>
    <label for="fs-name">Name</label>
    <input id="fs-name" type="text" name="name" placeholder="Jane Doe" required>
  </div>
  <div>
    <label for="fs-email">Email</label>
    <input id="fs-email" type="email" name="email" placeholder="jane@example.com" required>
  </div>
  <div>
    <label for="fs-message">Message</label>
    <textarea id="fs-message" name="message" rows="5" placeholder="How can we help?" required></textarea>
  </div>
  <!-- Honeypot: leave this hidden field empty to catch bots -->
  <input type="text" name="_gotcha" tabindex="-1" autocomplete="off" style="display:none">
  <!-- Optional: where to send people after submitting -->
  <!-- <input type="hidden" name="_redirect" value="https://yoursite.com/thanks"> -->
  <button type="submit">Send</button>
</form>

Any platform

Add it to the site you already have

Step-by-step guides with copy-paste code for each platform.

What your contact form gets

  • Every submission emailed to you (and teammates)
  • Spam protection: honeypot, time trap, heuristics, rate limiting
  • Optional reCAPTCHA, hCaptcha or Cloudflare Turnstile
  • Auto-reply email to the person who wrote in
  • File uploads for attachments and screenshots
  • Your own thank-you page, or our hosted one
  • Google Sheets, Slack, Discord, Airtable and webhooks
  • No FormSubmit branding, on any plan

Pricing at a glance

Free1 form · 50 submissions/moFree
Starter2 forms · 1,000 submissions/mo$5/mo
Pro10 forms · 5,000 submissions/mo$15/mo
BusinessUnlimited forms · 10,000 submissions/mo$50/mo

Every feature and integration is included on every plan. Yearly billing gives two months free. Compare plans

Frequently asked questions

How do I add a contact form to my website?

Paste a standard HTML form into your page and set its action to your FormSubmit endpoint (https://formsubmit.app/f/YOUR_FORM_ID) with method POST. Every field needs a name attribute. Submissions are then emailed to you. No server code, PHP or plugin is required.

Is there a free contact form for websites?

Yes. FormSubmit's Free plan gives you 1 form and 50 submissions per month with email notifications, spam protection, file uploads and every integration included. It never adds branding to your form, emails or thank-you page.

Do I need PHP or a server for a website contact form?

No. The form posts directly to FormSubmit, which receives the message, filters spam, stores it and emails it to you. It works on static hosts like GitHub Pages, Netlify, Vercel and Cloudflare Pages, and on WordPress, Webflow and Framer.

Where can I get simple HTML contact form code?

Copy the HTML on this page, or customise fields in the free contact form generator and export code for HTML, Tailwind, React, Next.js, Vue, Svelte, Astro, WordPress, Webflow or Framer.

How do I stop spam on my contact form?

The generated code includes a hidden honeypot field, and FormSubmit also checks submission timing, content and rate limits on every plan. You can add reCAPTCHA, hCaptcha or Turnstile with your own keys. Spam goes to a separate folder and doesn't count toward your quota.

Can the contact form send email to more than one address?

Yes. Add extra notification recipients in your form's settings. Each new address confirms once by email, then receives every submission.

Related

Your form backend is 60 seconds away

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