Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including blogger2ghost with all npm packages installed. Try it out:

var blogger2ghost = require("blogger2ghost")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

blogger2ghost v0.9.2

Blogspot JSON migrator plugin for Ghost

build status

blogger2ghost - Blogspot JSON migrator plugin for Ghost

blogger2ghost allows you to convert your Blogspot blog content into one compatible with Ghost.



  1. Set your blog's feed to Full in your dashboard: Settings | Other | Allow Blog Feed
  2. Get posts in JSON format from your blog using <your blog>/feeds/posts/default?alt=json&max-results=10000 and save it to some file (eg. data.json)
  3. $ npm install blogger2ghost -g
  4. $ blogger2ghost -i data.json > ghost.json
  5. Surf to ghost/settings/labs at your blog
  6. Use Import controls to import the data to your blog

Alternatively you can install and invoke it as a library (ie. $ npm install blogger2ghost and node_modules/blogger2ghost -i data.json)


Remove tables from posts:

$ blogger2ghost -i data.json > ghost.json --remove-tables

Supply authors for multi-user Ghost:

This will attribute imported posts to existing users, you should first create the users within Ghost.

  1. Create authors.json file e.g.:

        "John Smith": { // key should match author name from blogger
            "id": 7, // id is arbitrary
            "email": "" // email is used for lookup, must exist
        "Jane Doe": {
            "id": 8,
            "email": ""
  2. Run $ blogger2ghost -i data.json > ghost.json -a authors.json

Download images from Blogger:

This will download all images from existing Blogger posts and place them into a directory ready for upload to Ghost. It will also replace urls with normalised paths that will load from the local content directory of Ghost.

# 'blogger-images' directory will be created
$ blogger2ghost -i data.json > ghost.json -d blogger-images --download-limit 10


var convert = require('blogger2ghost');

// json to convert goes to first
// options (authors etc.) go to second param
// extension callback as third
convert({...}, {}, function(data, post) {
    // manipulate data based on post fields (see blogger data content above)
    // you can see data fields available at


    // once you are done with manipulation, return result
    return data;


  • ekaragodin - Fixed post import with non latin titles and tags
  • homerjam - Prettification of the output, support for multiple authors and downloading images
  • Mark Baird - Downloaded images correctly, fix duplicate tags and allow post content to be left in HTML format
  • Murphy Randle - Updated to-markdown to use correct invocation
  • Kiko Beats - Removed extra newlines after images as that broke image links.


blogger2ghost is available under MIT. See LICENSE for more details.


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free