Get your free access key
Create a free splitforms account at splitforms.com/login and copy your access key from the dashboard. The Free plan includes 500 submissions/month, no credit card.
Contact form · Ghost
Paste one HTML card into any Ghost page and every message lands in your inbox and dashboard — no plugin, no theme edit, no members portal.

Plain HTML in a Ghost card — nothing to install or keep updated.
A honeypot and form_loaded_at time-trap screen bots before your inbox.
Every submission is stored and emailed to you within seconds.
Copy-paste ready
Drop this into a Ghost HTML card, replace YOUR_ACCESS_KEY, and publish. That's the whole integration — no plugin, no theme edit, no server.
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
<input type="hidden" name="subject" value="New message from Ghost blog">
<input type="hidden" name="form_loaded_at" id="form_loaded_at">
<label>Name</label>
<input type="text" name="name" required>
<label>Email</label>
<input type="email" name="email" required>
<label>Topic</label>
<select name="topic">
<option value="editorial">Editorial</option>
<option value="advertising">Advertising</option>
<option value="collab">Collaboration</option>
</select>
<label>Message</label>
<textarea name="message" rows="4" required></textarea>
<!-- Honeypot: must stay empty -->
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
<button type="submit">Send</button>
</form>
<script>
document.getElementById('form_loaded_at').value = Date.now();
</script>Setup
No theme edit, no plugin. Paste one HTML card and publish — these are the five steps, whether it goes on a page or a post.
Create a free splitforms account at splitforms.com/login and copy your access key from the dashboard. The Free plan includes 500 submissions/month, no credit card.
In Ghost Admin, edit any page or post, click the + button, and add an HTML card.
Paste the form HTML above into the HTML card and replace YOUR_ACCESS_KEY with your real access key.
Leave the small <script> tag under the form in place — it timestamps the page load (form_loaded_at) so splitforms can reject bot submissions that arrive too fast.
Publish the page. Submissions now land in your splitforms dashboard and your inbox — email notifications are free on every plan.
Why Ghost needs this
Ghost is a publishing platform first — its data model is built around posts, tags, and memberships, not lead capture. The closest thing in stock Ghost is the members/subscription portal, which registers free or paid subscribers, not general reader messages. Rather than fork your theme or run a server just to handle one POST request, most publishers paste an HTML card pointed at a hosted form backend like splitforms — nothing to maintain, and it works on every Ghost host, including managed Ghost(Pro).

Spam control
The code above ships two traps: a honeypot field that must stay empty (bots fill every field; real visitors never see it) and a form_loaded_at timestamp that flags submissions sent faster than a human could type. splitforms also rate-limits at 6 submissions per minute per IP and applies server-side content heuristics — so most Ghost blogs never need a CAPTCHA at all.

Beyond email
On Pro ($5/mo) and above, connect the native Slack, Notion, Google Sheets, Airtable, Discord, Telegram, WhatsApp, or Mailchimp integration — or add a generic webhook, signed with HMAC-SHA256 — and every submission is forwarded the moment it arrives. Want a separate list that isn't tied to Ghost membership? A newsletter signup form collects addresses straight into your dashboard.

How SplitForms works
Connect your form, collect every submission, and send data where it needs to go — without building backend infrastructure.

Point your form to your unique SplitForms endpoint. That's it.

We instantly capture and organize every submission in your inbox.

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
SplitForms works with the destinations you route to and the platforms you build on — from Slack and Sheets to WordPress, Shopify, and Next.js. And with Stripe connected, your forms can take payments too.

Trusted by indie teams and agencies shipping forms worldwide
Testimonials
40 quotes on record — from indie hacks to agency migrations.
“I replaced a Lambda + DynamoDB + SES contact form with six lines of HTML. It took eleven minutes, and the dashboard is better than what I was going to build.”
“We migrated 14 client sites off Formspree in a single weekend. The price is a third of what we paid, the API is more honest, and the spam filter actually works.”
“The webhook payload is signed, idempotent, and well-shaped. It reads like code from a competent team, not a CRUD app held together with duct tape.”
“I stopped reaching for Typeform on small marketing sites. splitforms covers 90% of the use case at none of the bloat.”
“I onboarded our whole agency in an afternoon. The MCP integration meant Cursor literally dropped the form straight into our client repos for us.”
“The free plan gave me 500 submissions before I paid a cent, and Pro is five dollars a month. I've spent more on coffee deciding which backend to use.”
“Spam went from forty junk entries a day to zero, with no reCAPTCHA puzzle ruining the form. The honeypot and time-trap just quietly do their job.”
“Point the form action at one endpoint and you're done. No SDK, no client library, no build step. This is how a form backend should feel.”
“Leads land in Slack the second someone submits, and a copy goes to Google Sheets for the sales team. I wired both up in under ten minutes.”
“I run a static Hugo site on a five-dollar VPS. splitforms gave it a real contact form without me standing up a single server.”
Questions
Edit any Ghost page or post, switch to the HTML card, and paste an HTML form that points to a hosted form backend like splitforms (action="https://splitforms.com/api/submit"). No Ghost theme edit or plugin required — publish the page and the form is live.
No. Ghost ships a members/subscription portal for paid and free member sign-ups, but no native contact form. Most publishers add one with an HTML card pointed at a hosted form backend, since building a working submit handler in Ghost's theme layer isn't practical for most sites.
Yes, but it's a separate thing from Ghost's own memberships. Ghost's built-in members feature already handles subscribers who get your posts by email. A splitforms form is for a different list — for example, occasional announcements — and Mailchimp has a native 1-click integration; other tools connect via a generic webhook (on paid plans, from $5/mo).
Yes. splitforms' Free plan includes unlimited forms, 500 submissions/month, spam filtering, the dashboard, and email notifications to your inbox — no credit card. If your blog outgrows that, Pro is $5/month for 5,000 submissions plus webhooks and integrations, and Pro is $5/month for 5,000.
No. The form is plain HTML sitting in an HTML card — it posts directly from the visitor's browser to splitforms and never touches your theme files. Switching themes, updating Ghost, or moving hosts doesn't affect it, and there's no plugin to keep updated.
The code above includes two built-in traps: a botcheck honeypot field that must stay empty (bots fill every field; real visitors never see it) and a form_loaded_at timestamp that flags submissions sent faster than a human could type. splitforms also rate-limits at 6 submissions per minute per IP and applies server-side content heuristics automatically, so most sites don't need a CAPTCHA at all.
Yes, on Pro ($5/mo) and above. Connect the native Slack, Notion, Google Sheets, Airtable, Discord, Telegram, WhatsApp, or Mailchimp integration in your dashboard, or add a generic webhook, and every submission is forwarded the moment it arrives — no Zapier account needed for those native ones.
Simple pricing
Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, Stripe payments, and higher submission limits.
For side projects and indie devs.
For agencies and growing products.
Pay $59. 3 years sorted.
No credit card required on Free • Cancel anytime