jrnl
Create and manage personal journal entries
TLDR
Insert a new entry with your editor
Quickly insert a new entry
View the last ten entries
View everything that happened from the start of last year to the start of last march
Edit all entries tagged with "texas" and "history"
SYNOPSIS
jrnl [OPTIONS] [DATE] [BODY]
PARAMETERS
-h, --help
Show help message and exit
-v, --version
Show program's version number and exit
-c FILE, --config FILE
Specify config file
-j JOURNAL, --journal JOURNAL
Use specific journal (e.g., work)
--ls, --list
List available journals
-a, --add
Alias for add mode
-1, --one-line
Force single-line entry
-T, --no-tags
Disable auto-tagging
-t TAGS, --tags TAGS
Add comma-separated tags
-s SEARCH, --search SEARCH
Search entries for text
-S, --short
Short search results
-f FROM_DATE, --from-date FROM_DATE
Start date for results
-u UNTIL_DATE, --until-date UNTIL_DATE
End date for results
-n NUMBER, --limit NUMBER
Limit entries shown
-p, --page
Paginate results
--format FORMAT
Output format (e.g., short, long)
-e, --edit
Edit latest or specified entry
--export [FORMAT]
Export journal (JSON, HTML)
--import FILE
Import journal from file
DESCRIPTION
jrnl is a simple, powerful command-line journal application for Linux, macOS, and Windows. It stores entries as human-readable Markdown files in a plain-text directory, typically ~/.journal, allowing easy backups, versioning with Git, and searching with standard tools like grep.
Users add entries with natural language dates, e.g., jrnl yesterday "Great day!", supporting tags, moods, and locations. It handles multiple journals (e.g., work, personal) and offers search, export to JSON/HTML, and editing features. Entries are timestamped and encrypted optionally.
Ideal for privacy-focused users avoiding cloud services, jrnl emphasizes simplicity and portability. No database required; integrates with shell scripts for automation.
CAVEATS
Not a core Linux utility; install via pip install jrnl or package managers. Requires Python 3. Markdown output may need viewer. Encryption via GPG needs setup.
INSTALLATION
pip install jrnl
jrnl --init to setup first journal
EXAMPLE USAGE
jrnl "Meeting was productive"
jrnl today -t work,meeting
jrnl --search productivity
HISTORY
Created by Jens Raven in 2012 as open-source project on GitHub. Actively maintained; version 2.x added multi-journal, encryption, and export features. Popular for minimalist workflows.
SEE ALSO
grep(1), date(1), journalctl(1)


