jrnl
simple command-line journal application for recording daily thoughts
TLDR
SYNOPSIS
jrnl [entry] | [-n count] [-from date] [-to date] [-contains text] [@tag] [--edit] [--export format]
DESCRIPTION
jrnl is a simple command-line journal application for recording daily thoughts, notes, and ideas. It stores entries in plain text, making them portable and future-proof.
Entries consist of a date, optional title (first sentence), and body text. Tags are created by prefixing words with @ (e.g., @work, @idea). The first line or sentence before a period becomes the entry title, displayed in listings.
Quick entries can be typed directly on the command line. Running jrnl without arguments opens your configured editor for longer entries. Date parsing is natural language aware: "yesterday", "last friday", "2 days ago" work as expected.
Configuration is stored in ~/.config/jrnl/jrnl.yaml, defining the journal file location, editor, encryption settings, and multiple journals. You can maintain separate journals (work, personal, etc.) and switch between them.
Encryption with AES-256 is available for sensitive journals, requiring a password to read or write entries. Entries can be exported to various formats for backup or migration.
PARAMETERS
-n, --limit count
Show only the last n entries.-from date
Show entries from this date onwards.-to date
Show entries up to this date.-on date
Show entries on specific date.-contains text
Show entries containing text.-and
Require all filter conditions (default: any).-starred
Show only starred entries.--edit
Open entries in editor.--delete
Delete matching entries.--export format
Export entries (json, markdown, text, xml, yaml, tags).--import file
Import entries from file.--format format
Output format for display.--tags
List all tags.--short
Show only entry titles.--config-override key value
Override config setting.-ls
List available journals.
CAVEATS
Plain text storage means entries are readable without jrnl. Encryption adds password requirement for every access. Date parsing may occasionally misinterpret complex dates. Multiple journals require explicit selection. No built-in sync - use file sync tools for multi-device.
HISTORY
jrnl was created by Manuel Ebert around 2012 as a simple journaling tool for the command line. It was inspired by the Day One journaling app but designed for terminal users who prefer plain text. The project has been maintained by the open-source community and remains popular for its simplicity and Unix philosophy adherence.
SEE ALSO
taskwarrior(1), note(1), vim(1), nano(1)

