splitforms.com

Contact form for Squarespace

Contact form for Squarespace on any plan.

Updated · plan facts checked against /pricing

Paste one HTML form into a Squarespace Code Block and every message lands in your dashboard and inbox — no Business-plan upgrade, even on the free trial.

  • 500 free total
  • Any plan works
  • No Business plan
A Squarespace Code Block submitting a contact form to the splitforms backend

No Business plan needed

Custom fields, file uploads, and webhooks work on every Squarespace tier — even the 14-day free trial — because the form posts straight to splitforms.

Spam filtered server-side

A honeypot and load-time trap ship in the code, then splitforms rate-limits (6/min, 20 per 15 min, per IP per form) and content-scores every submission — most sites never turn on reCAPTCHA.

Route submissions anywhere

On paid plans, forward each message to Slack, Notion, Google Sheets, Airtable, or a signed webhook — nothing to configure on the Squarespace side.

Copy-paste ready

Your Squarespace contact form, ready to paste.

Drop this into a Squarespace Code Block set to HTML and replace YOUR_ACCESS_KEY. That's the whole integration — the form never talks to Squarespace's servers, so it works the same on every plan, even the free trial.

Generate access key
squarespace-form.html
<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 your Squarespace site">
  <input type="hidden" name="redirect" value="https://yoursite.com/thank-you">
  <input type="hidden" name="form_loaded_at" id="form_loaded_at">

  <label>Name</label>
  <input type="text" name="name" required autocomplete="name">

  <label>Email</label>
  <input type="email" name="email" required autocomplete="email">

  <label>Project Type</label>
  <select name="project_type">
    <option value="general">General Inquiry</option>
    <option value="booking">Booking</option>
    <option value="quote">Quote Request</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

How to add a contact form to Squarespace.

The Code Block method takes about five minutes and needs no plan upgrade. For the full walkthrough — Code Injection fallback, theme styling, and troubleshooting — read how to add a custom contact form to Squarespace.

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 total, no credit card.

Open the section in the Squarespace editor

Go to the page where you want the form — Contact, About, footer, wherever — and click Edit on that section.

Add a Code Block

Hover between two existing blocks until you see the blue insertion line, click the + icon, search "Code," and add a Code Block.

Set the block to HTML

Make sure the dropdown in the Code Block editor reads HTML, not Markdown, then paste the form code below and replace YOUR_ACCESS_KEY.

Apply and Save

Click Apply in the Code Block, then Save at the top of the Squarespace editor.

Publish and test

Publish the page and submit a real test message. The accepted submission is saved in your SplitForms dashboard before owner notification email is attempted; delivery time and inbox placement depend on provider and recipient settings. Email notifications are included on every plan.

No Business plan

Why the Squarespace Form Block isn't enough.

The native Form Block is fine for a name, email, and message on any plan. But custom fields beyond the basics, file uploads, and routing submissions anywhere other than your inbox all sit behind the Business plan. Embedding a splitforms form in a Code Block skips all of that — the dropdown field, the file input, and the webhook work the same on the cheapest Squarespace plan as the most expensive one.

  • Custom fields and file uploads on every tier, including the trial
  • Signed webhooks to Slack, Notion, Sheets, or your own server
  • The form posts to splitforms, not Squarespace, so plan tier never matters
A Squarespace form submission routed to inbox, Slack, Notion, and Google Sheets

Spam filtered

How to stop spam on a Squarespace contact form.

You usually don't have to add anything. The embedded form ships with a honeypot and a load-time trap, and splitforms rate-limits and content-scores every submission server-side — so most Squarespace sites never turn on reCAPTCHA. If yours still gets hit, enable reCAPTCHA v2 with your own site key, or route clean submissions on through the integrations you connect.

  • Honeypot + load-time trap ship in the form code
  • Rate-limited 6/min, 20 per 15 min (per IP, per form), and content-scored server-side
  • Optional reCAPTCHA v2 with your own site key from the dashboard
Spam filtering on a Squarespace contact form — honeypot, rate limits, and content scoring

How SplitForms works

What happens after someone submits your form?

splitforms receives the submission, filters spam, saves it to your dashboard and emails you — then, on paid plans, sends it on to your webhooks and integrations. No backend infrastructure to build.

A SplitForms contact form submission launching straight to your inbox

Add your endpoint

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

HTML form pointing at a SplitForms submit endpoint

Receive submissions

We instantly capture and organize every submission in your inbox.

Submissions inbox with searchable leads and status pills

Route anywhere

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

Generic integration tiles for email, sheets, chat, CRM, automate, and webhook

No credit card required. Set up in under 60 seconds.

Connect & automate

Where can submissions go besides email?

On paid plans, submissions can also go to Slack, Discord, Google Sheets, Notion, Airtable, Zapier or any signed webhook — and splitforms works on the platforms you build on, from WordPress and Shopify to Next.js. With Stripe connected, your forms can take payments too.

Connect your SplitForms form to Slack, Google Sheets, Mailchimp, Zapier and more
NewTake payments on your formsDeposits, bookings, order forms — submitters check out through Stripe and the money goes straight to your Stripe account. Included on every paid plan.See plans →

Setup guides for the stacks you use

Questions

Squarespace contact form questions.

View all FAQs
Can I add a custom contact form to Squarespace without the Business plan?

Yes. Because a splitforms form posts directly to splitforms.com/api/submit, your Squarespace plan tier never comes into it — the same embed works on the Personal plan, the Business plan, and even the 14-day free trial. You only need Squarespace's Business plan if you rely on its native Form Block for advanced fields.

Does Squarespace have a built-in contact form?

Yes — the Form Block. It handles a basic name, email, and message on any plan, so a simple contact page may not need anything more. Its more advanced capabilities, though, are reserved for the Business plan — which is exactly what an embedded splitforms form gives you on every tier.

Why isn't my Squarespace contact form sending emails?

If you're using splitforms and the dashboard shows the submission but no email arrives, check your spam folder first — that's the most common cause. If it's not there, double-check the access key in your form HTML matches the one in your dashboard exactly (a stray space breaks it). Email notifications are free on every plan, so there's no setting to unlock.

How much does a Squarespace contact form backend cost?

With splitforms, the Free plan covers 500 submissions total, unlimited forms, spam filtering, and email notifications — no credit card. Pro is $5/month for 5,000 submissions a month with CSV/XML/PDF export, webhooks, an auto-responder, CC/BCC and priority support. Annual is $49/year for 15,000 a month.

How do I stop spam on my Squarespace contact form?

You usually don't have to add anything. The embedded form ships with a honeypot and a load-time trap, and splitforms rate-limits and content-scores every submission server-side, so most Squarespace sites never turn on reCAPTCHA. If yours still gets hit, enable reCAPTCHA v2 with your own site key from the dashboard.

Can I send Squarespace form submissions to Slack, Notion, or Google Sheets?

Yes, from Pro ($5/mo) up. In your dashboard you connect Google Sheets, Notion, Airtable, Slack, Discord, Telegram, WhatsApp, or Mailchimp with one click — nothing to configure on the Squarespace side. Prefer your own endpoint? Add a signed webhook; the exact delivery contract is covered in the routing section above and the webhook docs.

Will the form match my Squarespace site's design?

Yes, if you don't hardcode fonts or colors. Squarespace wraps Code Blocks in the surrounding section's typography, so a plain, unstyled input inherits your theme's body font automatically. Add a scoped class like .sf-form around the markup if you want to nudge corners, spacing, or the button color without it leaking into other blocks.

What if my Squarespace Code Block strips the <script> tag?

Older Squarespace 7.0 templates occasionally strip <script> tags from a Code Block. If the timestamp field stays empty after saving, move that one script line to Settings → Advanced → Code Injection (Page Footer) instead. The form still works without it — the honeypot alone catches most spam.

How are Squarespace contact form webhooks delivered?

On paid plans (Pro at $5/mo and Annual) you can point a signed webhook at Slack, Discord, Telegram, or WhatsApp, or turn each message into a Google Sheets row, Notion page, or Airtable record. Webhooks are signed with HMAC-SHA256 (a sha256= prefix on the signature header) and delivered with an 8-second timeout, plus one automatic retry when the endpoint times out or returns a 5xx — respond quickly and offload slow work.

Where can I get help setting up my Squarespace form?

Still stuck? Email [email protected] or read the splitforms docs for the full request contract, including file uploads and rate limits.

Simple pricing

How much does splitforms cost?

Free gives you 500 submissions for $0 — no card, no time limit. Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month with every Pro feature.

Free

$0— 500 submissions
 

No card, no time limit

Best for testing

For side projects and indie devs.

  • 500 free submissions
  • Unlimited forms
  • Email notifications included
  • Smart spam filtering
  • Submissions dashboard
  • Redirect after submit
  • MCP server included

Annual

$49/ year
About $4.08/mo, billed yearly
Best value

Every Pro feature with triple the volume — $0.27 per 1,000 at full use.

  • 15,000 submissions / mo
  • Unlimited forms
  • Everything in Pro
  • File uploads with 5 GB storage
  • 3 team seats
  • Priority email support

No credit card required on Free • Cancel anytime • Full pricing and FAQ