SAVEFORM

Integrate · Last updated April 23, 2026

HTML form integration

The fastest way to use SaveForm.io: point a regular HTML form at your endpoint. Works on any static site — Jekyll, Hugo, Astro, plain HTML, or whatever — without shipping JavaScript.

Minimal example

Swap the action attribute for your SaveForm endpoint, keep method="POST", and add a few fields.

HTMLcontact-form.html
<form action="https://saveform.io/api/submit/YOUR_FORM_ID" method="POST">
  <input type="text"  name="name"    placeholder="Your name"  required />
  <input type="email" name="email"   placeholder="Your email" required />
  <textarea           name="message" placeholder="Your message" required></textarea>
  <button type="submit">Send message</button>
</form>

Replace YOUR_FORM_ID with the form ID from your dashboard.

Supported fields

Anything with a name attribute is captured. That includes text, email, number, tel, URL, date, textarea, select, checkboxes, radios, and hidden fields. Names that start with _ are treated as control fields — see the list below.

What happens on submit

By default SaveForm.io returns a clean success page with a countdown back to the page the form lived on. If the request comes from JavaScript (see fetch integration), the endpoint returns JSON instead.

HTML form integration | SaveForm.io