Form Integration

An HTML contact form that emails you, no PHP

A plain HTML form can email you without PHP or a server. Set the form's action to your Formbold endpoint and its method to POST, and every submission goes to your inbox. No JavaScript needed.

HTML Contact Form

What HTML do I need?

Only this form. The two attributes that matter are action, which points at your endpoint, and method="POST". Paste it anywhere inside your page's body and replace FORM_ID with the ID from your Form Setup tab.

html.html
<!-- Paste inside <body>. Replace FORM_ID with the ID from Form Setup. -->
<form
  action="https://formbold.com/s/FORM_ID"
  method="POST"
  class="flex flex-col gap-4 max-w-[452px] mx-auto"
>
  <!-- Full Name -->
  <div class="flex flex-col gap-2">
    <label for="name" class="text-sm font-medium text-gray-700">
      Full Name<span class="ml-0.5 text-red-500">*</span>
    </label>
    <input
      type="text"
      name="name"
      id="name"
      placeholder="Enter your full name"
      required
      class="max-h-11 w-full rounded-xl border border-gray-300 bg-white px-4 py-2.5 text-base text-gray-900 transition-all placeholder:text-[#9ca3af] focus:border-[#5750f1] focus:ring-4 focus:ring-[#5750f1]/10 focus:outline-none"
    />
  </div>

  <!-- Email Address -->
  <div class="flex flex-col gap-2">
    <label for="email" class="text-sm font-medium text-gray-700">
      Email Address<span class="ml-0.5 text-red-500">*</span>
    </label>
    <input
      type="email"
      name="email"
      id="email"
      placeholder="Enter your email"
      required
      class="max-h-11 w-full rounded-xl border border-gray-300 bg-white px-4 py-2.5 text-base text-gray-900 transition-all placeholder:text-[#9ca3af] focus:border-[#5750f1] focus:ring-4 focus:ring-[#5750f1]/10 focus:outline-none"
    />
  </div>

  <!-- Subject -->
  <div class="flex flex-col gap-2">
    <label for="subject" class="text-sm font-medium text-gray-700">
      Subject<span class="ml-0.5 text-red-500">*</span>
    </label>
    <input
      type="text"
      name="subject"
      id="subject"
      placeholder="Enter your subject"
      required
      class="max-h-11 w-full rounded-xl border border-gray-300 bg-white px-4 py-2.5 text-base text-gray-900 transition-all placeholder:text-[#9ca3af] focus:border-[#5750f1] focus:ring-4 focus:ring-[#5750f1]/10 focus:outline-none"
    />
  </div>

  <!-- Message -->
  <div class="flex flex-col gap-2">
    <label for="message" class="text-sm font-medium text-gray-700">
      Message<span class="ml-0.5 text-red-500">*</span>
    </label>
    <textarea
      name="message"
      id="message"
      rows="5"
      placeholder="Type your message..."
      required
      class="w-full resize-y rounded-xl border border-gray-300 bg-white px-4 py-3 text-base text-gray-900 transition-all placeholder:text-[#9ca3af] focus:border-[#5750f1] focus:ring-4 focus:ring-[#5750f1]/10 focus:outline-none"
    ></textarea>
  </div>

  <!-- Submit Button -->
  <button
    type="submit"
    class="flex h-12 w-full cursor-pointer items-center justify-center gap-2 rounded-xl bg-[#111827] px-5 py-3 text-base font-medium text-white shadow-xs transition-all hover:bg-black active:scale-[0.99] disabled:opacity-50"
  >
    Submit Message
  </button>
</form>
How it works

How do I make an HTML form send email?

Point it at Formbold. Three steps, no build tools.

1

Create a free account

Sign up and click Create New Form. The Free plan gives you 10 forms and 250 submissions a month.

2

Set the action URL

Copy https://formbold.com/s/FORM_ID from Form Setup into the form's action attribute. Give every input a name, such as name, email and message.

3

Upload and test

Publish the page, or open it locally, and send one entry. You'll see it in Submissions and in your inbox.

Features

What happens after someone clicks Submit?

Formbold stores the entry, checks it for spam, emails it to you and, on paid plans, forwards it to your other tools. With a Redirect URL set, the visitor lands on your own thank-you page.

No PHP, no mail server

Works on GitHub Pages, Netlify, Cloudflare Pages, S3 or plain shared hosting, because nothing runs on your server.

An email per entry

On every plan. Starter lets you add CC, BCC and more recipients.

Automatic reCAPTCHA

Plain HTML posts can use Automatic reCAPTCHA, which needs no keys and no code changes. Pair it with Basic Spam Filter.

File uploads

Add enctype="multipart/form-data" and a file input. Uploads are on Starter and higher, up to 50 MB per file on Business.

Your own thank-you page

Set a Redirect URL in Settings > Email Configuration and visitors land on your page after they submit. Starter and higher.

Send entries to Slack or Sheets

On Starter and higher, forward each entry to Slack, Google Sheets, Notion or your own webhook. The form HTML stays exactly the same.

FAQs

What else should I know about HTML forms?

Quick fixes for the problems people hit on their first HTML form.

No. The browser sends the form on its own once action and method are set. Add JavaScript later only if you want visitors to stay on the page.

Still have a question?

The docs cover setup, framework guides, integrations and spam protection, step by step.