Convert Ghost blog export to Hugo posts
Go Makefile
Switch branches/tags
Clone or download
jbarone Fix #15: importing wrong text as mardown.
When Ghost changed to the MobileDoc editor. It also changed where in the
JSON it was storing the Markdown text. Content no longer held it.
PlainText was assumed to now hold the content, but this was wrong. It
was actually being held in a stringified JSON object

This change updates to pull the correct markdown text. Though it should
be revisted as there might be some other edge cases that need to be
Latest commit 66a8548 Jan 8, 2018


GitHub release MIT License Build Status Go Report Card

ghostToHugo is a utility project that was created the allow the conversion of an export from the Ghost blogging engine into the Hugo engine.


There are 2 options for installation.

Pre-Built Binaries

With every new versioned release. Binaries are built for most major platforms. You can simply download the one for your operating system from the releases page. Unzip the package and place it somewhere in your path, and you are ready to go.

Building Latest and Greates

The project is written in Go, and currently will require building from source. Make sure you have Go installed and configured, then just run:

go get -u

this will download, compile, and install ghostToHugo


Usage: ghostToHugo [OPTIONS] <Ghost Export>
  -f, --dateformat string   Date format string to use for time conversions (default: RFC3339)
  -p, --hugo string         Path to hugo project (default ".")
  -l, --location string     Location to use for time conversions (default: local)

At a minimum you need to specify the path to the exported Ghost json file.


  • The dateformat string must be provided in Go's specific time format string. Reference here
  • The location string should be a value that matches the IANA Time Zone database, such as "America/New_York"


$ ghostToHugo export.json
$ ghostToHugo --hugo ~/mysite export.json
$ ghostToHugo -p ~/mysite export.json
$ ghostToHugo --dateformat "2006-01-02 15:04:05" export.json
$ ghostToHugo -f "2006-01-02 15:04:05" export.json
$ ghostToHugo --location "America/Chicago" export.json
$ ghostToHugo -l "America/Chicago" export.json

Exporting your Ghost content

You can export your Ghost content (and settings) from the "Labs" section of your Ghost install, which will be at a URL like <your blog url>/ghost/settings/labs/.

See this Ghost support article for details.