Use Case

Add a working contact form
to any website in 30 seconds

No backend. No server. Just paste an HTML form and start receiving messages from your visitors. Works with any website — static sites, portfolios, landing pages, and more.

Create Free Endpoint

How to add a contact form in 3 steps

No coding experience required. If you can paste HTML, you can do this.

1

Create an endpoint

Sign up for free and create a form endpoint in one click. You get a unique URL like https://formcatch.vercel.app/api/f/abc123.

2

Paste the HTML form

Copy the contact form code below and paste it into your website. Replace the action URL with your endpoint.

3

Receive submissions

Every submission lands in your dashboard with email notifications. Export to CSV anytime.

Complete contact form code

Copy this code, replace YOUR_ENDPOINT_ID with your FormCatch endpoint, and paste it into your website.

contact-form.html
<form
  action="https://formcatch.vercel.app/api/f/YOUR_ENDPOINT_ID"
  method="POST"
  style="max-width: 480px; margin: 0 auto; font-family: system-ui, sans-serif;"
>
  <div style="margin-bottom: 16px;">
    <label style="display: block; margin-bottom: 4px; color: #374151; font-size: 14px;">
      Name
    </label>
    <input
      type="text"
      name="name"
      required
      placeholder="Your name"
      style="width: 100%; padding: 10px 14px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 14px;"
    />
  </div>

  <div style="margin-bottom: 16px;">
    <label style="display: block; margin-bottom: 4px; color: #374151; font-size: 14px;">
      Email
    </label>
    <input
      type="email"
      name="email"
      required
      placeholder="your@email.com"
      style="width: 100%; padding: 10px 14px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 14px;"
    />
  </div>

  <div style="margin-bottom: 16px;">
    <label style="display: block; margin-bottom: 4px; color: #374151; font-size: 14px;">
      Message
    </label>
    <textarea
      name="message"
      required
      rows="5"
      placeholder="How can we help?"
      style="width: 100%; padding: 10px 14px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 14px; resize: vertical;"
    ></textarea>
  </div>

  <!-- Honeypot spam protection -->
  <input type="text" name="_honeypot" style="display: none;" />

  <button
    type="submit"
    style="width: 100%; padding: 12px; background: #3b82f6; color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer;"
  >
    Send Message
  </button>
</form>

Perfect for these scenarios

Any website that needs a contact form but doesn't have a backend.

Personal websites & portfolios

Let recruiters and clients reach you directly from your portfolio. No need to expose your email address.

Small business websites

Add a professional contact form to your business site. Receive customer inquiries in your inbox instantly.

Landing pages

Collect leads from marketing landing pages. Export contacts as CSV for your email campaigns.

Open source project sites

Let users report bugs or request features via a simple form on your GitHub Pages or Netlify site.

Add a contact form to your website today

Free plan includes 3 endpoints and 100 submissions per month. No credit card required.

Frequently asked questions

Can I add a contact form to a static website?

Yes. FormCatch works with any static site generator including Gatsby, Hugo, Jekyll, Astro, and plain HTML. Just point your form action to your FormCatch endpoint URL.

Do I need a server to handle contact form submissions?

No. FormCatch handles all the server-side processing for you. Your website only needs the HTML form — no backend code, no database, no server.

Is the contact form free?

Yes. The FormCatch Free plan includes 3 form endpoints and 100 submissions per month — more than enough for a personal website or small business contact form.

Will I get notified when someone submits the form?

Yes. FormCatch sends email notifications for every submission. You can also view all submissions in your dashboard and export them as CSV.