All templates
Basic HTML contact form
The one to start from. A plain <form action> with three fields, the honeypot, and nothing else, no script tag anywhere in the document. Submitting navigates to our hosted thank-you page unless you add a redirect field of your own.
HTML · CSS
Replace YOUR_ACCESS_KEY with the access key from your dashboard. Create one free. The endpoint and the honeypot are already in place.
Useful for
- Waitlist formsCollect early signups before you have a product.
- Contact formsThe classic name / email / message, delivered to your inbox.
- Newsletter signupCapture subscribers straight into your inbox or a sheet.
- Event registrationRSVPs and sign-ups collected straight to your inbox.
- Customer supportA support form that reaches your team fast.
The part behind every one of these is a form backend. This template posts to a PortForm form endpoint; the docs cover the fields and responses.
Other templates
- Ajax contact formHTML · CSS · JavaScript
- JavaScript form validationHTML · CSS · JavaScript
- Multi-column contact formHTML · CSS
- Masked phone inputHTML · CSS · JavaScript
- Contact form with dark modeHTML · CSS
- Raw contact form (no CSS)HTML
- Multi-step NPS surveyHTML · CSS · JavaScript
- Multi-step survey formVue · HTML · CSS
- Contact form popupTailwindCSS · Alpine.js · HTML
- Popover feedback widgetTailwindCSS · Alpine.js · HTML
- File upload formHTML · CSS
- JavaScript file upload formHTML · CSS · JavaScript
- React contact formReact · HTML · CSS