guide

Migrate Your Squarespace Site to Raw Code

Squarespace is a rental. Every month, you pay $23-$56 for the right to use a template and editor that Squarespace owns. The code that renders your website is proprietary and closed-source. You cannot view it, modify it, export it, or run it anywhere else. If you stop paying, the site disappears.

This arrangement made more sense five years ago when building a website from code required hiring a developer and managing hosting infrastructure. In 2026, AI coding agents can convert a Squarespace site into a fully-owned codebase in a matter of hours, and static hosting is free. The economics of renting a website builder have fundamentally shifted.

This guide is about making that shift — moving from a Squarespace subscription to code you own outright. Not necessarily to any specific framework (though we will discuss your options), but to the principle of ownership itself.

The cost of not owning your code

Squarespace restructured their pricing with introductory rates that jump on renewal:

PlanYear 1 (monthly)Years 2+ (monthly)5-Year Total
Basic$16/mo$25/mo$1,392
Core$23/mo$36/mo$2,004
Plus$39/mo$56/mo$3,156

Over five years on the Core plan, you will pay approximately $2,004. At the end of those five years, you still do not own your code. Cancel the subscription and the site is gone.

Compare that to a one-time migration to a codebase you own. Static hosting on Cloudflare Pages, Vercel, or Netlify is free for the traffic levels most Squarespace sites see. The five-year hosting cost is $0. The code lives in your Git repository forever, regardless of what happens to any particular service.

But cost is only part of the story. The deeper issue is what ownership enables.

What code ownership actually means

When your site is a codebase — files in a repository that you control — several things become possible that are impossible on Squarespace:

AI agents can maintain your site. Claude Code, Cursor, Windsurf, and Cline can read your source files, understand the structure, make targeted changes, and deploy updates. They work with code natively. They cannot click through Squarespace’s visual editor, navigate its menus, or interact with its proprietary template system. The gap between what AI can do with code versus what it can do with a drag-and-drop editor is enormous, and it is widening.

Any developer can work on it. JavaScript and HTML developers are abundant and affordable. Squarespace template customization is a niche skill with a small talent pool. When your site is standard code, you are never locked into a specific type of specialist.

You can deploy anywhere. Vercel, Netlify, Cloudflare Pages, AWS, DigitalOcean, your own server — your choice. If any hosting provider raises prices, changes terms, or shuts down, you move your files to another provider. Squarespace sites can only exist on Squarespace.

Version control becomes automatic. Git tracks every change to every file with full history. You can see exactly what changed, when, and why. You can revert any change in seconds. Squarespace has no version history for design changes — if you break something in the editor, your only option is to try to manually undo your steps.

You control your dependencies. On Squarespace, they decide what JavaScript loads, what analytics run, what third-party scripts are injected. Your page weight and performance are largely out of your control. With your own code, you decide exactly what ships to the browser.

What your Squarespace site looks like as code

Here is a typical Squarespace business site translated into a project structure:

my-site/
  src/
    layouts/
      BaseLayout.astro       # Shared header/footer wrapper
    pages/
      index.astro            # Homepage
      about.astro            # About page
      services.astro         # Services page
      contact.astro          # Contact page with form
    content/
      blog/
        first-post.md        # Blog posts as markdown files
        second-post.md       # With metadata in frontmatter
    components/
      Header.astro           # Navigation component
      Footer.astro           # Footer component
      Gallery.astro          # Image gallery
      ContactForm.tsx        # Interactive form (React)
    styles/
      global.css             # Your site's CSS
  public/
    images/                  # Full-resolution images you own
    favicon.svg              # Your favicon
  package.json               # Dependencies
  astro.config.mjs           # Build configuration

Every file is a text file you can read and understand. Blog posts are markdown. Pages are HTML-like components. Styles are CSS. Images are image files. There is no proprietary format, no database you cannot access, no binary blob you cannot inspect.

Understanding Squarespace’s export

Before migrating, you should know what data Squarespace will give you. Go to Settings → Advanced → Import/Export → Export and you get an XML file in WordPress WXR format.

The export includes:

  • Blog post content, dates, categories, and tags
  • Basic page text content
  • Blog comments
  • Some image references (as URLs pointing to Squarespace’s CDN)

The export does not include:

  • Your design, templates, or layout configuration
  • Custom CSS (from Design → Custom CSS)
  • Code injection content (from Settings → Advanced → Code Injection)
  • Images as downloadable files (just URLs that may expire)
  • Commerce/product data (separate CSV export needed)
  • Form configurations and submissions
  • Navigation structure
  • Gallery configurations
  • Member area content
  • Acuity Scheduling setup
  • Domain configuration

The XML is decent for blog content. For everything else, you will need to supplement the export by crawling your published site or manually copying content.

Before doing anything else: Copy your custom CSS and code injection blocks into text files. These represent real customization work that the export will not capture.

Six approaches to the migration

1. AI coding agents — Claude Code, Cursor, Windsurf, Cline

This is the approach that has changed migration economics most dramatically. AI coding agents can take your Squarespace export and published site, then produce a working codebase.

The workflow:

  1. Export your Squarespace content as XML (Settings → Advanced → Import/Export).
  2. Save your custom CSS and code injection blocks.
  3. Scaffold a new project: npm create astro@latest (or Next.js, Hugo, 11ty — your choice of framework).
  4. Open the project in your AI coding agent. Provide the XML file, your site URL, and any custom code.
  5. Prompt the agent: “Parse this Squarespace XML export to extract all blog posts as markdown files. Then visit my site at example.com to capture the page structure, navigation, content, and images. Build page components that match the current design.”
  6. The agent will scaffold pages, convert blog posts, download images, and build components. This first pass typically covers 70-80% of the site.
  7. Iterate. Ask the agent to fix specific pages, adjust the design, handle edge cases like galleries or embedded content. Two to four rounds of refinement usually gets you to a production-ready state.
  8. Deploy to a static host.

Timeline: 2-8 hours for a typical 10-20 page site. A weekend for a site with 50+ blog posts and complex layouts.

Cost: Free if you already have a Claude Code or Cursor subscription. The agent is doing the work — you are directing it.

Real-world examples of AI-assisted rebuilds include Cursor’s own website, Prefect.io’s marketing site, and numerous sites documented by developers like Sid Bharath who have written publicly about using Claude to migrate client sites.

2. AI app builders — Bolt.new, v0.dev, Lovable, Replit Agent

For people who are not comfortable working in a code editor but still want to own their code, AI app builders offer a middle ground.

  1. Screenshot each page of your Squarespace site.
  2. Go to Bolt.new, v0.dev, or Lovable.
  3. Upload a screenshot and describe what you want: “Recreate this page layout. Match the fonts and spacing.”
  4. The tool generates downloadable code.
  5. Repeat for each page, then add your actual content.

This approach works well for design replication. The gap is content migration — you will need to manually copy text content or use the XML export separately. But you end up with source code you own.

3. Hire a developer or agency

Sometimes the right answer is to pay someone who has done this before.

  • Freelance developers typically charge $1,000-$5,000 for a full Squarespace-to-code migration, depending on site size and complexity.
  • Agencies that specialize in migrations charge $5,000-$25,000 for larger sites with e-commerce, custom functionality, or complex content.

When evaluating someone for this work, ask: Have you migrated Squarespace sites before? How do you handle image migration? Do you set up 301 redirects for SEO continuity? Will I get a Git repository with the source code? Who owns the code after the project?

4. The WordPress bridge

Because Squarespace exports in WordPress XML format, you can use the WordPress ecosystem as an intermediate step. Import the XML into a temporary WordPress instance, then use WordPress-to-markdown tools to produce clean content files. This is especially useful for sites with large blog archives (50+ posts) where the WordPress import/export tooling is more mature and battle-tested than direct XML parsers.

5. BrowserCat Migrate

BrowserCat Migrate is an automated service that crawls your Squarespace site, extracts content and images, and produces a codebase in a GitHub repository. It is one option for automating the extraction and scaffolding steps, starting at $49.

6. Full manual migration

The most time-intensive approach, but it gives you the deepest understanding of your new codebase.

  1. Export XML from Squarespace.
  2. Parse the XML to extract blog posts (use a tool or write a script).
  3. Screenshot every page for design reference.
  4. Choose a framework and scaffold a project.
  5. Build each page component by hand, referencing your screenshots.
  6. Download all images from Squarespace’s media library.
  7. Set up deployment and configure redirects.

Realistic timeline: 2-6 weeks, depending on site size and your development experience.

Squarespace-specific gotchas

Squarespace 7.0 vs 7.1

Squarespace runs two different template systems. Version 7.0 uses named templates (Brine, Bedford, Pacific, etc.) with template-specific features. Version 7.1 uses a universal design system with sections and blocks. The migration complexity varies depending on which version your site uses and how much template-specific functionality you rely on. Check your version at Help → Squarespace Version.

Images will break if you cancel too early

Squarespace serves images through its CDN (images.squarespace-cdn.com). The XML export contains URLs pointing to this CDN, but those URLs will stop working when your subscription ends. Download every image before canceling. Use your Squarespace media library, or run a script to download all images referenced in the XML.

Commerce needs special handling

Squarespace Commerce data (products, orders, customer info) is not included in the XML export. You need to export products separately as CSV. If e-commerce is central to your business, seriously consider whether migrating to a static codebase is the right move, or whether a dedicated platform like Shopify makes more sense for the commerce layer.

Forms do not export

Squarespace forms — including their configurations, submission data, and notification settings — are not exported. Document your forms before migrating and set up replacements using Formspree, Netlify Forms, or a custom solution.

Domain transfer

If your domain is registered through Squarespace, you will need to transfer it to another registrar (Cloudflare Registrar, Namecheap, Google Domains) or update DNS to point to your new host. Squarespace domains can be transferred out following their standard domain transfer process. Plan for this to take 5-7 days.

The performance dividend

Beyond ownership, moving to code delivers a significant performance improvement:

MetricSquarespaceCode-based static site
Mobile Lighthouse~3195-100
LCP (mobile)8.79s<0.5s
TTFB1-2s<50ms
Page weight2-5MB50-200KB

DebugBear’s benchmarks put Squarespace at the bottom of major website builders for mobile performance. A static site built from the same content eliminates the server rendering overhead, the template engine JavaScript, and the analytics payload that Squarespace injects on every page.

This matters for SEO. Google’s Core Web Vitals — LCP, INP, and CLS — directly influence search rankings. Moving from a failing CWV score to a passing one can have a measurable impact on organic traffic.

When NOT to migrate

Code ownership is not right for everyone. Stay on Squarespace if:

  • Your team cannot adopt a new workflow and no one is willing to learn. Editing markdown or using AI agents is not hard, but it is different. If the learning curve will mean the site never gets updated, that defeats the purpose.
  • Acuity Scheduling is essential. Squarespace owns Acuity and the integration is deeply embedded. You can embed Acuity on a code-based site, but it will not be the same seamless experience.
  • You are actively using Squarespace Commerce with inventory, subscriptions, and customer accounts. Migrating active e-commerce is a separate, larger project.
  • You genuinely do not mind the cost and performance. If your business is thriving on Squarespace, your audience is not mobile-heavy, and the monthly fee is negligible to your revenue, the migration may not be worth the disruption.

The editing workflow after migration

The most common concern about leaving Squarespace is “how will I edit my site?” Here are the practical options:

  • Edit files directly. Markdown for blog posts, HTML/component files for pages. Open in VS Code, make changes, commit, auto-deploy.
  • Use an AI agent. “Update the phone number in the footer” — Claude Code or Cursor makes the change in seconds.
  • Add a headless CMS. Decap CMS (free, Git-based), Sanity, or Contentful give you a web-based editor. This is the closest experience to Squarespace’s editor, but your site stays fast and code-owned.
  • Edit on GitHub. For quick text changes, GitHub’s web interface lets you edit markdown files and trigger auto-deployment.

The honest tradeoff: Squarespace’s editor is more intuitive for non-technical users making visual changes. Code-based editing is faster for content changes and vastly more powerful for structural changes. AI agents are closing the gap rapidly.

Getting started

The first step is non-destructive: export your Squarespace content. Go to Settings → Advanced → Import/Export → Export. Save the XML file. Copy your custom CSS and code injection blocks. Download your images from the media library.

Once you have your data, you own it. The migration can happen on your timeline. You can keep your Squarespace site running while you build the replacement in parallel. When the new site is ready, switch DNS and cancel the subscription.

That XML file in your downloads folder is the first thing you have truly owned from your Squarespace experience. The rest follows from there.

Automate Everything.

Tired of managing a fleet of fickle browsers? Sick of skipping e2e tests and paying the piper later?

Sign up now for free access to our headless browser fleet…

Get started today!