jrnl

What jrnl is
jrnl is a command-line application for writing, searching, and viewing journal entries. It runs on Linux, macOS, and Windows, and supports offline use. Entries can include natural-language timestamps, such as “yesterday,” while inline tags help you search and filter your writing. You can maintain multiple journals in a single file or across several files, which can help keep work and personal records separate.
Journals use human-readable plain text and can be placed in shared folders to sync between devices. jrnl also supports AES encryption. For new encrypted writes, it uses the jrnl v3 format, and it asks whether to store the password in the system keychain. Passwords cannot be recovered or reset, so losing one makes the encrypted data inaccessible.
You can send entries to a configured external editor, including Visual Studio Code, Vim, or Notepad++. jrnl can import entries and export journal data in formats such as JSON, Markdown, plain text, XML, and YAML. The installation guide recommends pipx with Python 3.11 or later. jrnl is free and open source under the GPL-3.0 license. For help, the project directs users to submit an issue on GitHub.
Who it suits
jrnl suits people who want a command-line journal they can use offline on Linux, macOS, or Windows. Its multiple-journal support can help people keep work and personal writing separate, while plain-text files and export formats offer ways to organize and move journal data.
What it does well
- Works offline on Linux, macOS, and Windows.
- Natural-language timestamps can be used for entries.
- Inline tags support searching and filtering.
- Supports multiple journals and plain-text storage.
- Imports entries and exports to several formats.
- Free and open source under GPL-3.0.
What to know first
- Requires command-line use.
- Lost encryption passwords cannot be recovered or reset.
- Installation guide recommends pipx with Python 3.11 or later.
Limits
The application is free. If you encrypt a journal, its password cannot be recovered or reset; losing it makes the data inaccessible.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Free and open source | Command-line journal application | Free |
As jrnl.sh lists them, read 5 Oct 2026. The maker's own page has the final word.
Getting started
- Visit https://jrnl.sh/.
- Install jrnl using the guide's recommended pipx route with Python 3.11 or later.
- Create journal entries with jrnl, including natural-language timestamps if useful.
- Use tags to search and filter entries, or configure an external editor.
- Import entries or export journal data in a supported format.
- For help, submit an issue on GitHub.
Verdict
Choose jrnl if you want a free, open-source command-line journal with offline access, multiple journals, and plain-text files. Its encryption can protect journals, but someone who loses the password cannot recover the data.
Questions
How much does jrnl cost?
The listed Free and open source plan is free.
Does jrnl work offline?
Yes. Offline access is supported.
Which platforms does jrnl support?
Linux, macOS, and Windows.
Is jrnl open source?
Yes. The project says it is free and open source, and its repository identifies the license as GPL-3.0.
Can I import or export journal data?
Yes. jrnl supports importing entries and exporting in JSON, Markdown, plain text, XML, and YAML.
Can I recover a forgotten encryption password?
No. Passwords cannot be recovered or reset, and losing one makes the data inaccessible.
Facts from jrnl's own pages
- Editors
- jrnl can pass entries to a configured external editor, including Visual Studio Code, Vim, and Notepad++. · jrnl.sh, 5 Oct 2026
- Encryption
- The application supports AES encryption, and its documentation says encrypted journals use the jrnl v3 format for new encrypted writes. · jrnl.sh, 5 Oct 2026
- Export formats
- multiple · jrnl.sh, 20 Sept 2026
- Free plan
- Yes · jrnl.sh, 20 Sept 2026
- Import and export
- jrnl supports importing entries and exporting them in formats including JSON, Markdown, plain text, XML, and YAML. · jrnl.sh, 5 Oct 2026
- Installation requirement
- The installation guide recommends pipx with Python 3.11 or later. · jrnl.sh, 5 Oct 2026
- Keychain
- When encrypting a journal, jrnl asks whether to store its password in the system keychain. · jrnl.sh, 5 Oct 2026
- Natural-language entry
- Entries can be created with natural-language timestamps such as “yesterday.” · jrnl.sh, 5 Oct 2026
- Offline access
- Yes · jrnl.sh, 20 Sept 2026
- Open source
- The project says it is free and open source, and its GitHub repository identifies the license as GPL-3.0. · github.com, 5 Oct 2026
- Password recovery
- The documentation states that jrnl passwords cannot be recovered or reset, and losing one makes the data inaccessible. · jrnl.sh, 5 Oct 2026
- Plain-text storage
- Journals are stored as human-readable plain-text files that can be placed in shared folders to synchronize between devices. · jrnl.sh, 5 Oct 2026
- Purpose
- jrnl is a command-line journal application for creating, searching, and viewing journal entries. · jrnl.sh, 5 Oct 2026
- Support
- The project directs users who need help to submit an issue on GitHub. · jrnl.sh, 5 Oct 2026
- Sync and integrations
- The homepage suggests syncing journal files with tools such as Dropbox; the documentation also describes external editors and data formats for piping or exporting journal data. · jrnl.sh, 5 Oct 2026
- Tags and journals
- jrnl supports inline tags for searching and filtering, and multiple journals stored as one file or a set of files. · jrnl.sh, 5 Oct 2026
- Who it is for
- The homepage presents jrnl as a tool for keeping separate journals for different parts of life, including work and personal use. · jrnl.sh, 5 Oct 2026
Where jrnl stands on Freedom251
- Journaling apps#13 of 37
- Journaling Software#15 of 37
- Journal Apps#20 of 35
- Note-taking apps#148 of 216