Note: The following information is for Day One Classic’s CLI. For information about the CLI for Day One 2.0, please see: Day One 2.0 CLI.

Download the Day One Mac Command Line Interface from the Tools page.



dayone – Command line interface for the Day One journaling application.


dayone [
-d=<date> ] [ -s=true|false ] [
-p=<file> ]
[ -j=<file> ] [ -h ] <command>


The dayone tool provides a way to interact with your Day One journal file through the command line. It is typically used for custom import scripts and utilities.

dayone will only work properly if you have purchased the Day One application and have run it at least one time on your computer. You can purchase Day One by visiting

You must always specify a command. Currently the only supported command is new. The entry text is read from stdin.



Adds a new entry using text from stdin



Creation date of the entry. If not specified then the current date is used. This option accepts dates in most formats, including some natural language strings such as ‘tomorrow’ and ‘yesterday’. The system’s locale is used when deciding how to parse a date. The date is parsed using -[NSDate dateWithNaturalLanguageString].


Whether or not to star the entry. If not specified the entry is not starred.


File path to a photo to attach to entry. Most image formats are accepted. If any side of the image is greater than 1600 pixels then it will be resized. In all cases the image is converted to JPEG.

-j, –journal-file=<path>

Location of Day One Journal file. If not specified then the journal currently configured in the Day One application will be used.

-h, –help

Displays help.


dayone new

Waits for you type something and then creates a new entry in the default journal.

echo "Hello World" | dayone new

Creates a new entry containing the specified text.

dayone new < ~/Desktop/note.txt

Creates a new entry containing the contents of the file note.txt.

echo "" | dayone -p=~/Pictures/image.jpg new

Creates a blank entry with image.jpg as a photo attachment.

dayone -d="03/03/2011 5:30PM" -s=true new < ~/Desktop/note.txt

Creates an entry with a specified creation date. The contents of note.txt are used as the entry text. Additionally, the entry is starred.

echo "Work sucks" | dayone -j=~/Documents/WorkJournal.dayone new

Creates an entry in a journal other than the default.



p style=”margin-left:11%; margin-top: 1em”>Ben Dolman – @bdolman

Journal from here, there, everywhere.

Download for free on iPhone, iPad, Mac, and Apple Watch.

Day One app on iOS and Android devices

A Day One companion app is available for Android on the Google Play store.