Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Org Journal

esenonfossiioesenonfossiio6 downloads

Date-tree journal in a single Org file: new entry, calendar, folder tree, tag search and a clean journal look. Requires the Orgmode (cm6) plugin.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates5

Obsidian plugin for a date-tree journal kept in a single Org file. Works alongside Org Reader, which provides the .org editor view.

Requires Org Reader. Obsidian can't declare plugin dependencies, so install and enable it yourself (Settings → Community plugins, or with BRAT). Without it Org Journal shows a notice on startup and its commands can't open the journal. Org Reader replaces Orgmode (cm6), so disable that one: only one plugin can handle .org files. Org Journal opens the journal in Org Reader's editing mode.

File layout (same as the Emacs file+olp+datetree capture template):

* 2026
** 2026-08 August
*** 2026-08-29 Saturday
**** 23:02 Title                                         :tag1:tag2:
Free-form text...

Screenshots

Journal look and calendar:

Journal look with the calendar

Tree view:

Tree view

New entry:

New entry dialog

Journal look, close up:

Journal look

Commands

Run from the command palette (Ctrl+P, prefix "Org Journal: "). Assign hotkeys in Settings → Hotkeys.

Command What it does Ribbon
New entry Asks for an optional title and tags, then adds **** HH:MM title :tags: under today's year/month/day headings (created in sorted position if missing) and puts the cursor on the body line. Optionally hides everything except today's path and the new entry; a "Show all entries" button then floats over the view. pencil
Show all entries Undoes the hiding done by New entry (same as the floating button).
Open today Jumps to today's day heading (or says there is none yet).
Open tags Sidebar tag filter: every tag with its count; click tags to select them and the entries that have all of them are listed below. Click an entry to jump to it. tags
Open calendar Sidebar month view. Days with entries have a dot (hover for the count); click one to jump to it. calendar
Open tree Left-sidebar tree like the file explorer: years and months are folders (with entry counts), then days, then entries with their tags. Click a folder to expand/collapse, click an entry to jump to it, double-click a day to jump to its heading. Chronological (oldest first); the current year and month start open. folder-tree
Search entries Fuzzy search over date, title, tags and body text; Enter jumps to the entry.
Filter entries by tag Lists tags with counts, then the entries under the chosen tag.

Journal look

The journal file (and only that file) gets its own styling: year, month, day and entry headings in a clear hierarchy, HH:MM as a badge, :tags: as pills (the colons and alignment padding are hidden unless the cursor is on that line), leading asterisks hidden (shown again on the line you're editing), entry text indented under its heading, a readable column width, and the preamble (#+TITLE / #+STARTUP lines before the first heading) hidden. Turn it off with the Journal look setting.

Colours come from your Obsidian theme (accent colour, text and muted text), so they follow light/dark mode.

Settings

  • Journal file: path inside the vault (default journal.org).
  • Week starts on Monday: calendar layout.
  • Hide other entries on new entry: on by default.
  • Journal look: on by default.
  • Hide preamble: part of the journal look, on by default.
  • Tags column: right edge for :tags: on entry headings (default 77, as in Emacs).

License

MIT, see LICENSE.

Development

Source is in src/: core.js (pure date-tree/Org logic, unit-tested), calendar.js, modals.js, hide.js (CodeMirror line hiding), tree.js (sidebar tree), style.js (journal look decorations; CSS is in styles.css), settings.js and main.js (the plugin). main.js at the repo root is the esbuild bundle Obsidian loads; it is generated and gitignored.

npm install
npm test         # unit tests for src/core.js
npm run build    # bundle src/ -> main.js
npm run dev      # rebuild on change

Trying changes in Obsidian

  1. Tell the build where your vault's plugin folder is (once). Put the path in a gitignored .deploy-target file, or set OBSIDIAN_PLUGIN_DIR: echo "~/vault/.obsidian/plugins/org-journal" > .deploy-target
  2. npm run build (or npm run dev, which rebuilds whenever you save a file in src/) now also copies main.js, manifest.json and styles.css there.
  3. Obsidian only reloads plugin code on startup or when the plugin is toggled: Settings → Community plugins → switch Org Journal off and on (or restart).
  4. Open the developer console (Ctrl+Shift+I) to see errors.

Don't symlink the checkout into the vault: Syncthing (and some other sync tools) don't follow symlinks, so the plugin would never reach your phone. The deploy target must be a real folder holding only the three built files.

Put logic that doesn't need Obsidian or CodeMirror in src/core.js and cover it in test/core.test.js; keep the Obsidian-facing code in the other modules thin.

Releasing

Bump version in manifest.json and package.json, add it to versions.json, commit, then git tag <version> && git push origin main <version>. The tag must equal the manifest version (no v prefix); the GitHub workflow builds, tests and publishes a release with main.js, manifest.json and styles.css.

Install

Copy main.js, manifest.json and styles.css into <vault>/.obsidian/plugins/org-journal/ and enable it. Set the journal file path in the plugin settings (default journal.org).

HealthExcellent
ReviewPassed
About
Maintain a date-tree journal in a single Org file and integrate with Orgmode (cm6) for the .org editor view. Create time-stamped entries under auto-created year/month/day headings with optional titles and tags. Navigate with a calendar sidebar, tree view, fuzzy search and tag filters, and get custom styling for headings, times and tag pills.
CalendarDatesSidebar
Details
Current version
0.1.6
Last updated
5 hours ago
Created
Yesterday
Updates
5 releases
Downloads
6
Compatible with
Obsidian 1.4.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
esenonfossiioesenonfossiio
GitHubesenonfossiio
  1. Community
  2. Plugins
  3. Calendar
  4. Org Journal

Related plugins

Chronology

A calendar and a timeline of the note's creation and modification.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.

Journals

Manage your journals.

Periodic Notes

Manage your daily, weekly, and monthly notes.

Itinerary

Make planning your trip or event easier by rendering a calendar from event information found in your notes.

Tasks Calendar Wrapper

Simple wrapper for Tasks Calendar and Tasks Timeline.

Calendarium

Craft mind-bending fantasy and sci-fi calendars.

Contribution Graph

Generate an interactive heatmap to visualize and track your productivity.

Journal Review

Review your daily notes on their anniversaries, like "what happened today last year".

Yearly Glance

Year at a glance - overview of annual events with customizable management options.