Documentation

HTML Form

Reference for building an HTML form that submits to formbuild.io: endpoint URL, encoding types, field names, honeypot, CORS, and a working example.

Use a standard HTML form and point it at your formbuild.io endpoint. No JavaScript or backend required on your side.

Endpoint

Your form must POST to:

https://formbuild.io/in/YOUR_FORM_ID

Replace YOUR_FORM_ID with the ID shown on your form's Installation tab in the dashboard.

Method and encoding

Set method="post". We accept three content types:

  • application/x-www-form-urlencoded — the default for HTML forms. Use this for simple text fields.

  • multipart/form-data — alternative encoding. Set enctype="multipart/form-data" on the form tag. Text fields are stored; binary file parts are currently ignored.

  • application/json — send a JSON object via fetch() or from an SPA. Each key is a field name and each value is stored as a string. See API Submissions.

Field names

Every configured input, textarea, or select needs a name matching a field in the form's Form Builder. That name becomes the key shown in your Inbox (e.g. email, message, phone). Unknown field names are ignored by the submission endpoint.

Special names: if your form includes a field named email, _replyto, or replyto, we automatically validate it as an email address. A non-empty value that isn't a valid email will be rejected.

Cross-origin (CORS)

The submission endpoint allows requests from any origin. We respond to OPTIONS preflight with 204 and Access-Control-Allow-Origin: *, so you can embed forms on other domains or submit via fetch() from a different site.

Honeypot field (optional)

In Security & Rules → Spam Protection, you can set a honeypot field name. Add a hidden input with that name to your form. If a bot fills it in, we silently discard the response (returning a success status so the bot doesn't retry). See Spam protection.

Preview

You can preview and test your form from the dashboard. Open the form, go to Installation, and click Open Share Link. You'll see the form as visitors see it and can submit a test — it shows up in your Inbox like a real response.

Minimal example

<form action="https://formbuild.io/in/YOUR_FORM_ID" method="post">
  <label for="name">Name</label>
  <input name="name" id="name" type="text" required />

  <label for="email">Email</label>
  <input name="email" id="email" type="email" required />

  <label for="message">Message</label>
  <textarea name="message" id="message"></textarea>

  <button type="submit">Send</button>
</form>

On this page