splitforms.com

Contact form for Squarespace

Contact form for Squarespace on any plan.

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 / mo
  • 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) and content-scores every submission — most sites never turn on reCAPTCHA.

Route submissions anywhere

From Starter, 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/month, 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. It should land in your splitforms dashboard and inbox within seconds — email notifications are free 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, 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

From form to workflow in 3 simple steps.

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

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

Connect your favorite tools and automate everything

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.

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 →

Trusted by indie teams and agencies shipping forms worldwide

PETAL/COKRAFT.DELINEAR-XBUILD.DEVSTUDIO 71MERIDIANFRAME&CO

Testimonials

Loved by developers shipping at every scale.

40 quotes on record — from indie hacks to agency migrations.

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/month, unlimited forms, spam filtering, and email notifications — no credit card. Pro is $5/month for 5,000 submissions plus CSV/XML/PDF export, webhooks, and an auto-responder. Pro is $5/month for 5,000 submissions with CC/BCC and priority support.

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?

From Pro ($5/mo) 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

Start free. Scale when you need more.

Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, Stripe payments, and higher submission limits.

Free

$0
 

Free forever

Best for testing

For side projects and indie devs.

  • 500 submissions / mo
  • Unlimited forms
  • Email notifications included
  • Honeypot spam filtering
  • Submissions dashboard
  • MCP setup stays free
  • No credit card required

3-Year

$59/ first 3 years
was $99 · save 40% · new-user price

Pay $59. 3 years sorted.

  • 15,000 submissions / mo
  • Unlimited forms
  • Everything in Pro
  • $59 for 3 years, then $59/year
  • Long-term discount
  • Priority support included
  • Vote on the roadmap

No credit card required on Free • Cancel anytime