Popup Contact Form (Modal Widget)
A popup contact widget that floats in the corner of your site, opens a centred modal, and closes on Escape. Zero dependencies — vanilla JS, ~80 lines.
Putting a contact form on every page hurts conversion — it's noise. Putting a single 'Contact us' button in the corner of every page that opens a modal is the pattern Intercom popularised. You don't need Intercom's $99/month for it. The widget is 80 lines of HTML, CSS, and JS, and the form posts to the same splitforms endpoint you'd use anywhere else.
- →Basic contact form · 4 fields
- →HTML, JS, React, PHP, cURL outputs
- →One POST endpoint, no SDK
- →Honeypot + classifier, no CAPTCHA
See exactly what your visitors see — and you’ll receive.
Left: the rendered form, fully interactive in a sandboxed iframe. Right: the email and dashboard view that lands the moment a visitor submits.
Every submission becomes an email plus a dashboard row. The fields below are the exact payload your form will send. Reply-to is wired to the visitor’s email so hitting reply goes back to them.
Iframe is sandboxed — submit doesn’t actually fire. Get your access key to wire it up live.
Generate, embed, receive.
Three actions stand between you and your first lead. None of them require a backend, a database, or a CAPTCHA library.
Paste the widget HTML once
It's a self-contained block — anchor button, overlay, modal card, and a tiny script. Drop it into your site's footer template so every page has it.
Wire it to your access key
One line — replace YOUR_ACCESS_KEY in the form's hidden input. That's the only personalisation.
Customise the trigger
The trigger is a regular button — change the icon, label, or position with CSS. The modal styling is yours to fork. We give you a working starting point.
Five outputs. One backend.
HTML by default. Click open the language you ship in — every variant POSTs to the same /api/submit endpoint.
Replace YOUR_ACCESS_KEY with the key from your dashboard. That’s the only edit.
One template. Every framework.
The same field set works on every framework splitforms supports. HTML, React, Next.js, Vue, Astro, Hugo, WordPress — same POST, same backend.
Things people ask before they ship.
Direct answers, no marketing fluff. Missing one? Email hello@splitforms.com.
Ship your popup contact form (modal widget) in 60 seconds.
1,000 free submissions per month. No credit card. Copy the snippet, paste your access key, watch leads land in your inbox.
