html.contact

HTML form templates

Start with a normal HTML form, point it at your html.contact endpoint, and receive submissions in your inbox. No backend route. No plugin.

Minimum form /f/hc_pub_REPLACE
<form action="https://html.contact/f/hc_pub_REPLACE" method="POST">
  <label for="email">Email</label>
  <input id="email" name="email" type="email" required>

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

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

Method

POST

Browser key

hc_pub_

Fields

Named inputs

Choose a template

Start with the closest shape, then paste the action into your site. Every template keeps labels, field names, browser validation, and the html.contact endpoint visible.

Most common start

Simple Contact Form

The smallest useful contact form: name, email, message, and a submit button. Copy the plain HTML, add your endpoint, and keep the form in your own site.

Open contact form template
Name, email, message Native POST action Works with your CSS

Works anywhere a form can POST.

Keep the form UI in your site. html.contact receives the POST, checks the source, stores the submission, and sends email from your dashboard settings.

Native POST

No fetch handler or backend route required.

Source checks

Allowed domains and spam screening run server-side.

Inbox and logs

Accepted submissions land in email and stay searchable.

Add email in minutes.

No server. No plugin. No backend code.

Create your form