NewTry MagicWP now - first month free
Back to blog

liberate.sh Explained: How to Turn a Wix, Squarespace, Shopify or Webflow Site into WordPress

Automattic's liberate.sh copies a Wix, Squarespace, Shopify or Webflow site and hands it back as a WordPress zip. Here is how it works and what to check.

liberate.sh Explained: How to Turn a Wix, Squarespace, Shopify or Webflow Site into WordPress

Leaving a site builder has always been the awkward part of building a site on one. Automattic's own data-liberation notes point out that Wix has no HTML export, and that JavaScript-rendered content and limited APIs can leave a site locked inside a builder. Automattic, the company behind WordPress.com, has now put up a small tool called liberate.sh that tries to make leaving easier: you paste in a site address, and a few minutes later you can download that site as a WordPress site you can host anywhere.

It is a new and young project, so the useful questions are practical ones. What does the zip actually contain? What gets lost? And how do you get it from your laptop onto real hosting? This guide covers how liberate.sh works, how to use it step by step, and what to test before you move a live site.

TL;DR

  • liberate.sh is an open-source tool from Automattic. You paste a public site address, confirm you own it or may copy it, and get back a zip of a WordPress site: your pages, your media, and a theme that carries the original look.
  • The copying happens on WordPress.com's side, not on the liberate.sh server. Automattic's own notes say results are not perfect and complex layouts can come back with gaps.
  • The zip is built to open in WordPress Studio, a free desktop app. From there you can push it to WordPress.com or Pressable. For a normal MySQL host you will usually need to move the database across first.
  • Nothing in the project's documentation says products, orders, forms or booking data come across. Treat all of that as something you rebuild or move separately until you have checked.
  • Your old site stays online while you test. Switch your domain only after the copy passes a full review.

What liberate.sh is, and what it is not

liberate.sh is a one-field website. You paste an address, and the service copies the site, rebuilds it as WordPress, and gives you the result as a zip file. Its GitHub page describes it as a way to turn any website into a WordPress site you can download and host anywhere, and the landing page names Wix, Squarespace, Shopify and Webflow. The README also lists GoDaddy as a source builder.

The code is open source under the GPL-2.0 license, and Automattic's page says it comes from the makers of Studio, the free WordPress desktop app. The public site is hosted on a platform called Spacefast.

It helps to be clear about what the tool is not. It is not a migration plugin that connects to your account on the old builder. It does not log in to anything. It works from the public pages of your live site, the way a visitor sees them. That has two consequences. Anything behind a login, such as member areas or private pages, is out of reach. And anything that only exists in your builder's dashboard, such as order history or form submissions, is not part of a public page, so a tool that copies public pages has no way to see it.

How liberate.sh works behind the scenes

According to the project README, the liberate.sh server does not do the copying. It checks the address you gave it, asks WordPress.com for a copy, follows the job while it runs, and sends you to the download when it is ready. WordPress.com captures the site with a real browser and rebuilds it with its static site importer.

Three details from the README matter in practice.

First, the server keeps almost nothing. It stores a few hundred bytes per job so a bookmarked link still knows which site it belongs to. There is no archive of your site on the liberate.sh server. The README does not describe how long WordPress.com keeps what it captured, so if that matters for your site, treat it as unconfirmed and check WordPress.com's own policies.

Second, there are guard rails. Addresses must be public ones, so you cannot point it at an internal or private address. Visitors have to confirm they own the site or are allowed to copy it. Download links are unguessable and expire. The README lists a default expiry of 72 hours, but that is a setting in the code, so the live service may use a different number.

Third, there is a daily limit. liberate.sh runs as a registered WordPress.com application, and that application can only copy so many sites per day. The README says plainly that the service can run out for the day, and that the limit is shared by everyone, not per visitor. If you hit it, try again later. The README also notes that asking for a site that is already being copied costs nothing and gives you the same copy back.

Important: The README says no AI is involved in the copy. Fidelity is whatever the capture and the importer manage, and the maintainers say intricate designs come back imperfect. That is an honest warning, and you should plan around it.

What you actually get in the zip

The README says you get a WordPress site folder with your pages and media, plus a theme carrying the original look. It also says the download can be large, mostly because of media and WordPress itself.

That description tells you something useful about the type of result. This is a rebuild that aims to look like the original, not a clean set of fresh WordPress blocks written the way a person would build them. How editable the pages are inside the WordPress editor is not described in the documentation. Some tools in this area produce a "high-fidelity replica" that looks right but is awkward to edit, and others produce native editable blocks. For liberate.sh, open a page in the editor during your review and see for yourself before you decide this is your long-term site.

When the importer knows something went wrong, the download still arrives with a line saying some pages may be missing pieces. The maintainers chose this on purpose, on the view that a site with gaps is better than no site. Read that line when you get it.

Before you start: prerequisites

You will need a few things ready before you paste an address.

  • A live, public site on one of the supported builders. liberate.sh copies what is online, so the site must be published and reachable without a login.
  • The right to copy it. You will be asked to confirm that you own the site or may copy it.
  • WordPress Studio installed on your computer. It is a free, open-source desktop app for macOS, Windows and Linux. Download it from the official Studio page at developer.wordpress.com/studio.
  • Enough disk space. The README warns that the download is large.
  • A list of what your current site does besides showing pages: contact forms, a shop, bookings, a newsletter signup, members, a blog with comments. You will use this list in your review.
  • Somewhere to host the result. If you are moving to MagicWP, the WordPress hosting page covers what the platform includes.

Step 1 - Write down what your current site does

Open your live site and walk through it as a visitor. Note every page, every form, every embedded tool, every shop page, and every place where something is submitted or paid for. Also note your current URLs, especially blog posts and product pages, because you will need them for redirects later.

This takes ten minutes and saves hours. A copy tool captures how pages look. It does not know which button is wired to a payment provider or which form sends email to your inbox.

If your builder has its own export for blog posts or products, run it now and keep the files. They are your safety net if the copy misses something.

Step 2 - Start the copy at liberate.sh

Go to liberate.sh and paste the full address of your site. The page needs JavaScript to run, so use a normal browser with it switched on.

Confirm that you own the site or have the right to copy it, then start the job. If the page shows a human check, complete it. The README says an optional Cloudflare Turnstile check can be turned on for the service.

If you see a message that the service has hit its daily limit, that is the shared ceiling the README describes. Bookmark the page and come back later.

The job page follows the copy while WordPress.com works on it. In a test run described in one of the project's own pull requests, a demo Squarespace site took about seven minutes. That is a single data point from the project's testing, not a promise, and a bigger site with lots of media will take longer.

Bookmark the job link. It is how you find the result again if you close the tab, and by the README's default it stops working after 72 hours.

Step 4 - Download the zip and read the note

When the job finishes, you are sent to the download. Save the zip somewhere you can find it, and read any message that comes with it. If the importer reported problems, the message will say some pages may be missing pieces. Write down the pages it names, since those go straight onto your review list.

Keep the original zip untouched. Work on a copy of it, so you can always start again from the original if you break something while testing.

Step 5 - Open the site in Studio and review it

Open the downloaded site in WordPress Studio. Studio runs WordPress on your own computer, so this is a safe place to look around before anything goes public.

Go through the list you made in Step 1 and check:

  • Every page exists and the menu links go where they should.
  • Images load, and nothing is stretched or missing.
  • The layout holds up at phone width as well as on desktop.
  • Text is real text you can select and edit, not baked into images.
  • Open a few pages in the editor and see how editable they are.
  • Forms: do they exist at all, and do they send anywhere?
  • Anything that was a shop, booking widget, popup or embedded app.

Be strict here. A copy of a simple brochure site may pass in an afternoon. A site with a shop, member area or custom scripts will have gaps, and it is better to find them now than after launch.

Step 6 - Choose where the site will live

This is where most people get stuck, because of how the zip is built. The README says the site is a WordPress site folder that opens in Studio, and that Studio can push it to WordPress.com or Pressable. It also says hosts that run WordPress on SQLite can take it as it is, and that anywhere else, Studio is the way in.

The reason is the database. Studio sites run on SQLite, a small file-based database, while most WordPress hosts, including most managed hosts, use MySQL or MariaDB. The README calls this out as a known limitation: WordPress on SQLite is not what most hosts run, so moving in usually means going through Studio.

You have roughly three paths.

Destination How it works What to know
WordPress.com or Pressable Push from Studio The route the README describes. Studio's sync feature is described on its page as available for WordPress.com sites on paid plans and for Pressable sites with Jetpack enabled.
A host that runs WordPress on SQLite Use the download as it is Per the README. Few hosts work this way, so confirm with the host first.
A standard MySQL host, such as MagicWP Move the content and database across from Studio Needs a database conversion or an export that your host can import.

For the third path, Studio's repository shows work on exporting a site and its database, and the Studio 1.13.0 release notes from July 2026 mention a documented SQLite-to-MySQL migration path. I could not confirm the exact current steps from a stable official page, so check the Studio documentation for your version before you start. Treat any SQLite-to-MySQL conversion as version-dependent.

If you are moving to MagicWP, the simplest route may be to ask for the free migration that comes with the platform and tell the team the site came out of Studio. Ask them how they want to receive it, so you do not spend an evening converting a database by hand. Before any change to a live site, take a backup first. MagicWP's backup docs explain how backups and restores work.

Step 7 - Point your domain at the new site (Optional until you are ready)

Do this last, and only after the review passes.

On MagicWP, you can connect a custom domain and get free HTTPS through Let's Encrypt automatically, which the domain docs walk through. Before you change DNS, check that the new site works on its temporary address, and keep the old builder plan active until you have seen the new site live for a few days.

Two details that trip people up:

  • Domain ownership. Some builders sell or manage your domain as part of the plan. Check where your domain is registered before you cancel anything. If the registrar is the builder, you may need to transfer the domain separately, and that can take days.
  • DNS timing. Lower your DNS time-to-live (TTL) value a day ahead so the switch spreads quickly. Your registrar or DNS provider shows this setting.

Step 8 - Set up redirects and check search traffic

Your page addresses will probably differ on WordPress. A Wix or Shopify URL pattern is not the same as a WordPress one, so old links can break if you do nothing.

Match each old URL from your Step 1 list to its new one, and set up permanent (301) redirects. MagicWP has a redirects guide for this. Then submit your new sitemap in Google Search Console, and watch for crawl errors over the next few weeks.

Do not assume the copy kept your page titles, descriptions and headings exactly. Compare a few key pages against the original, because search rankings depend on those details.

What liberate.sh does not tell you it handles

The project documentation is clear about pages, media and look. It says nothing about the following, so treat each as unconfirmed.

  • Shop data. Products, variants, orders, customers and payment settings. Nothing in the liberate.sh README mentions WooCommerce or products.
  • Forms. A form can look perfect and send nowhere.
  • Blog comments, members, bookings and newsletter lists. Those live in your builder's database, not on the public page.
  • Redirects and SEO settings. You must rebuild these yourself.
  • Scripts and third-party embeds. Chat widgets, trackers and booking tools may or may not survive.

If your site is a store, this matters most. A different Automattic project, the data-liberation-agent, does extract products into a WooCommerce-compatible CSV, so it is worth a look for stores (see the next section).

Other ways to leave a site builder

liberate.sh is the easiest option on offer because it needs no setup, but it is not the only one.

Option How you run it What you get Best for
liberate.sh Web page, paste an address A WordPress site zip with pages, media and a theme Simple sites, quick trials
Automattic data-liberation-agent Command line or AI-agent plugin A WXR file, media folder, redirect map, and a products CSV where the site has a shop Stores, larger sites, people comfortable with a terminal
Manual rebuild Your own work or a freelancer A WordPress site built the way you want Sites where design and editing quality matter most

The data-liberation-agent's own README lists Wix, Squarespace, Shopify, Webflow, GoDaddy Websites & Marketing, Hostinger, HubSpot and Weebly as ready platforms. Its output is a WordPress import file you load through the standard importer in WordPress admin, plus a map of old paths to new slugs that helps with redirects. That is a very different workflow from a zip you open in Studio, and for a shop it may be the better starting point. It runs on your own machine, which also keeps the capture away from third-party servers if that concerns you.

A manual rebuild is slower, but if your current site is a mess of workarounds, starting clean in WordPress can be the faster path in the end.

Frequently Asked Questions

Is liberate.sh free?

The pages I checked do not state a price, and I could not find a pricing page, so I cannot say. The code is open source under GPL-2.0, and the public service runs under a daily limit. Studio, the app you need to open the result, is described by Automattic as free. If cost matters to you, check liberate.sh again at the time you use it, since terms can change.

Which site builders does liberate.sh support?

The landing page names Wix, Squarespace, Shopify and Webflow. The GitHub README adds GoDaddy to that list. It describes the tool as turning any website into WordPress, but it only promises the named builders, so test a non-listed site on a small page set first and expect rougher results.

Does liberate.sh move my products and orders?

Nothing in its documentation says it does. The README talks about pages, media and a theme with the original look. Treat store data as separate work. A different Automattic tool, the data-liberation-agent, says it can extract products into a WooCommerce-compatible CSV, which is a better fit for a shop.

Will my site look exactly the same on WordPress?

Not exactly. The README says fidelity depends on the capture and the importer, that no AI is involved, and that complex layouts can come back with gaps. Expect a close copy of simple pages and some manual cleanup on complicated ones. Check spacing, fonts, mobile layout and any animation by hand.

Will the copy hurt my search rankings?

It can if you skip the follow-up work. The copy does not carry your old redirects, and your page addresses may change. Set up 301 redirects from every old URL, compare titles and headings on your top pages, submit a new sitemap, and keep an eye on Search Console. Moving with matching URLs and clean redirects is what protects rankings.

Can I host the result on any WordPress host?

Not directly in most cases. The README says hosts that run WordPress on SQLite can take the download as it is, and that other hosts usually mean going through Studio. Most hosts use MySQL, so the database has to be exported or converted first. Ask your host how they want to receive a Studio site before you start.

Is it safe to give my site address to liberate.sh?

The address is public already, since the tool copies what visitors see. The README says the server keeps only tiny job records, that addresses must be public, and that the credential it holds can only request copies and has no access to anyone's WordPress.com account. What WordPress.com does with the captured copy is not described in that README, so read WordPress.com's policies if your content is sensitive.

Should I turn off my old site as soon as the copy finishes?

No. liberate.sh copies your site, it does not move it, so your old site keeps running. Leave it live, finish your review, set up redirects, switch DNS, and keep the old plan for a few days after the switch. Cancel it only when the new site has run cleanly and you have checked where your domain is registered.

Conclusion

liberate.sh is a welcome shortcut for anyone who wants out of a closed site builder. Paste an address, wait a few minutes, and you get a WordPress site you own. For a small brochure site it may do most of the work. For anything with a shop, forms or a complicated design, it is a head start rather than a finished move, and the maintainers say as much.

The sensible way to use it is to run the copy, review it in Studio against a written checklist, decide where it will live, and only then switch your domain. If you want help with the hosting end of that, MagicWP offers free migration and a one-click staging copy you can use to test before going live, which suits a move like this. Either way, the tool is useful mainly because it makes the first step cheap, and because it points the result at WordPress, which you control.

Next steps

A
Alex
MagicWP
Writing about WordPress, performance, and the infrastructure that makes sites fast.

Get the best of MagicWP in your inbox.

Monthly engineering notes, product updates, and WordPress performance tips. No spam, unsubscribe anytime.

Join 12,000+ builders. We send one email a month.