# HTML

MuxForms on plain HTML is a div with data-form-id plus embed.js from muxforms.com. Allow your site origin in the dashboard; the script fetches the schema and POSTs submissions—no PHP, Formspree, or custom backend on the host.

## HTML checklist

| Step | Action |
| --- | --- |
| 1 | Copy FORM_UUID from dashboard |
| 2 | Allow https://your-domain.com |
| 3 | Paste div + script before </body> |
| 4 | Deploy any static host |

## Minimal contact page

Replace FORM_UUID. Serve over HTTPS in production so the allowlist matches what users see in the address bar.

```
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>Contact</title>
  </head>
  <body>
    <h1>Contact us</h1>
    <div data-form-id="FORM_UUID"></div>
    <script src="https://www.muxforms.com/embed.js" defer></script>
  </body>
</html>
```

## Local testing

Add http://localhost:5173 (or your dev port) to the allowlist while building. Remove or keep it for internal demos.

## FAQ

### Does this work on shared hosting?

Yes. The browser talks to MuxForms; your host only serves HTML files.

### Can I use my own <form> markup?

Use embed.js for built-in fields, or POST JSON with the ingest secret from a small server script.

### Why do I get 403 on submit?

The page origin must exactly match an entry on the form allowlist (scheme + host, no path).

### Where is the full embed reference?

See /docs/embed for mount(), React, and styling notes.

---

HTML version: https://www.muxforms.com/docs/html
Source: MuxForms (https://www.muxforms.com)
