Simple converter script for Day One2: JSON -> Pandoc Markdown with metadata.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This is a simple exporter script for (Version 2).

Each entry in journal_name.json will be exported as Pandoc Markdown with DayOne's metadata.
The script also copies attached photos in photos directory to the output directory.


Currently, the script runs with Python3.6, and is tested on macOS.

  • Python 3.6 or higher.
    • You may need Homebrew, Anaconda, or pyenv to use the latest version of python.
  • Python packages
    • Pipenv for managing dependencies.
    • See Pipfile for other dependencies.


If you don't have pipenv and Python3.6, setup them by brew install python3 pipenv or using other tools.

Just copy to somewhere, or clone this repository.

$ git clone
$ cd dayone2md
$ pipenv install


Your journal file should be exported by as 'JSON in Zip' and extracted into certain directory, for example:

    -- journal_name.json        JSON file exported from
    -- photos/                  Directory containing photos 

Then run this script from your terminal.

# Recommended: use pipenv's shell
$ pipenv shell

# Show help (long-form only)
$ python --help

    Convert *.json exported by to Pandoc Markdown

    --overwrite  Force overwrite when exporting entries
    --help       Show this message and exit.

# Like this. output_dir will be created automatically.
$ python export_dir/Journal.json output_dir

# Note that entries already existing in the destination directory will not be overwritten.
$ ls output_dir  photos/

# In such case, use --overwrite option.
$ python --overwrite export_dir/Journal.json output_dir