Table of contents

Migrating between platforms can be tricky, so we put together this collection of guides to help make it easy!

Ghost imports from existing blogs via a custom JSON data format, described below. The import and export tools can be found on the 'labs' page in Ghost settings. The importer will accept either a JSON file, or a zip file containing a JSON file and the related images.

Importing the JSON

Once you've generated the JSON go to the Labs Menu (/ghost/settings/labs/) on your blog to access the import form.

Importing Images

Ghost can import images within the provided zip. The images need to be located in a folder called content/images.

Substack

Migrate from Substack and import your content to Ghost with this guide

We can do this migration for you, for free!

Save time and let the Ghost team do all the work on your behalf; no coding, no configuration, no worries. This migration is included with any Ghost(Pro) Basic Annual plan or higher.

Additionally, we can remove the 10% Substack fee from your existing subscriptions for you (this is not included in the guide below) so you can keep all your revenue 👉

Exporting your subscribers

To get started, export your current Total Email List in CSV format. This exports your entire Subscriber list from Substack:

If you're also migrating paid subscribers, you'll need to export the Stripe ID's of your customers by exporting the Subscribers list, which downloads a separate CSV with this information included. Now you'll have all of the the email subscriber and customer data required to migrate from Substack to Ghost.

Import subscribers to Ghost

We recommend preparing the data in your CSV using our guide on importing members in Ghost. Alternatively, we can do this work for you with any Ghost(Pro) Basic Annual plan. Once you're happy that you subscriber data is complete, under the Ghost Admin members settings, select the import option from the settings menu.