Calendar Plus
approvedby Matt Maiorana
This plugin has not been manually reviewed by Obsidian staff. Calendar view with integrated daily, weekly, monthly, quarterly, and yearly notes. An update of the Calendar plugin.
Calendar Plus
Calendar Plus is a sidebar calendar for Obsidian with daily, weekly, monthly, quarterly, and yearly periodic notes built in. It's an update to Liam Cain's original Calendar plugin, with a few notable updates and differences:
- Periodic notes are integrated. Daily, weekly, monthly, quarterly, and yearly notes are configured directly in Calendar Plus — no separate Periodic Notes plugin required.
- Month, year, and quarter labels are clickable. Click the labels in the calendar header to open or create the corresponding periodic note, the same way day and week-number cells work.
- Dots only mean "a note exists." This simplifies the indicator and creates a cleaner look. The dots no longer represent word count or task completion — they are just a presence indicator.
There are also many bug fixes that bring both the calendar view and periodic note functionality up to modern Obsidian plugin standards.

Features
- A calendar view for navigating your vault by date.
- Built-in periodic notes for daily, weekly, monthly, quarterly, and yearly periodicities. Each periodicity has its own folder, filename format, and optional template — no separate Periodic Notes plugin required.
- Click a day cell to open or create that day's note. Click a week-number cell to open or create the weekly note. Click the month, year, or quarter labels in the calendar header to open or create the corresponding monthly / yearly / quarterly note.
- A filled dot on a day cell means a periodic note exists for that day. A dot on a week-number cell means a weekly note exists for that week. Dots don't represent anything else — no word counts, no task counts, no streak metadata.
- The calendar view can live anywhere. Drag it to the left sidebar, into the main content area, pin it as a tab, or pop it into its own window — Calendar Plus preserves the placement across plugin reloads.
- Theme-friendly: the calendar inherits Obsidian's CSS variables and respects the active theme out of the box.
Installation
From within Obsidian (recommended once listed in the community-plugin directory): Settings → Community plugins → Browse → search "Calendar Plus" → Install → Enable.
From a GitHub release (fallback): download main.js, manifest.json, and styles.css from a GitHub release, copy them into your vault at <vault>/.obsidian/plugins/calendar-plus/, then enable Calendar Plus from Settings → Community plugins.
From source: see the Development section below.
Calendar Plus uses a separate plugin id, view type, and ribbon icon from the original Calendar plugin, so the two can coexist during a transition.
Usage
After enabling the plugin, the calendar appears in the right sidebar. You can drag it elsewhere or pin it — the placement is remembered.
Daily notes are enabled by default for new installs. Weekly, monthly, quarterly, and yearly notes start disabled; toggle each on as needed.
Configure each periodic-note type independently from Settings → Calendar Plus → Periodic Notes:
- Enable turns the note type on. Enabling Weekly notes also shows the week-number column.
- Date format is a Moment.js format string used for note filenames.
- Folder is where notes for that periodicity are created. Leave blank for the vault root.
- Template file is an optional path to a template note.
Calendar Plus owns its own settings for all five periodic-note types and doesn't read from Obsidian's core Daily Notes plugin or other periodic-notes plugins.
Settings
General
- Start week on: choose the first day of the week. "Locale default" uses your system locale.
- Ctrl + Click behaviour: when Ctrl/Cmd-clicking a date cell, open the note in a new tab or in a new split.
- Confirm before creating new note: show a confirmation modal before creating a new note. Turn off for one-click creation.
- Change week number side: show week-number cells on the right side of the calendar instead of the left.
Periodic Notes
Each of the five note types — Daily, Weekly, Monthly, Quarterly, Yearly — has its own Enable toggle, Date format, Folder, and Template file setting.
Advanced
- Override locale: force a specific locale for date formatting, independent of your system locale.
FAQ
Does Calendar Plus replace the original Calendar plugin?
It's intended to. Calendar Plus uses a separate plugin id, view type, and ribbon icon from the original Calendar plugin, so the two can coexist if you want to run them side-by-side during a transition. Calendar Plus owns its own settings for all five periodic-note types and does not read settings from Obsidian's core Daily Notes plugin or the original Periodic Notes plugin.
What do the dots mean?
A filled dot on a day cell means a periodic note exists for that day. A dot on a week-number cell means a weekly note exists for that week. Dots have no other meaning — they don't reflect word count or task status.
How do I add week numbers to the calendar?
Enable Weekly notes in the Calendar Plus settings. Week-number cells appear automatically; clicking one opens or creates the weekly note for that week.
How do I have the calendar start on Monday?
From the Settings tab, use the Start week on dropdown.
How do I hide the calendar without disabling the plugin?
Right-click the calendar's view icon in the sidebar and choose Close. Reopen it later from the Command Palette: Calendar Plus: Open view.
How do I include literal words in a weekly note filename?
Wrap the words in [] brackets in your Moment.js format string. For example, [Week] ww [of Year] gggg produces filenames like Week 21 of Year 2020. The brackets tell Moment.js to treat the enclosed text literally instead of as format tokens.
Tips
Embed each day of a week in a weekly note
Add this snippet to your weekly note template to embed each day's note:
## Week at a Glance
![[{{sunday:gggg-MM-DD}}]]
![[{{monday:gggg-MM-DD}}]]
![[{{tuesday:gggg-MM-DD}}]]
![[{{wednesday:gggg-MM-DD}}]]
![[{{thursday:gggg-MM-DD}}]]
![[{{friday:gggg-MM-DD}}]]
![[{{saturday:gggg-MM-DD}}]]
Hover preview
Hold Ctrl or Cmd while hovering a day cell to preview the corresponding daily note.
Open in a split
Ctrl/Cmd-click a date cell to open the note in a new split or new tab, depending on the Ctrl + Click behaviour setting.
Reveal an open periodic note on the calendar
Run Calendar Plus: Reveal active note from the Command Palette to scroll the calendar to the month containing the currently-open periodic note.
Style weekends differently
Set --color-background-weekend in your obsidian.css to any color to distinguish weekend columns.
Weekly-note template tags
When a weekly note is created from a template, Calendar Plus expands these tags:
| Tag | Description |
|---|---|
{{sunday:fmt}} through {{saturday:fmt}} | Inserts the date of that day of the current week, formatted with fmt. Specify the format explicitly (e.g. {{sunday:gggg-MM-DD}}). |
{{title}} | The note's filename. |
{{date:fmt}}, {{time:fmt}} | The date / time of the first day of the week, formatted with fmt. |
Customization
Calendar Plus exposes CSS variables you can override in your obsidian.css:
#calendar-container {
--color-background-heading: transparent;
--color-background-day: transparent;
--color-background-weeknum: transparent;
--color-background-weekend: transparent;
--color-dot: var(--text-muted);
--color-arrow: var(--text-muted);
--color-button: var(--text-muted);
--color-text-title: var(--text-normal);
--color-text-heading: var(--text-muted);
--color-text-day: var(--text-normal);
--color-text-today: var(--interactive-accent);
--color-text-weeknum: var(--text-muted);
}
To override specific calendar classes, prefix them with #calendar-container so the change doesn't leak into the rest of Obsidian:
#calendar-container .year {
color: var(--text-normal);
}
Note for theme authors: if you inspect the calendar's DOM, you'll see class names with autogenerated suffixes such as .day.svelte-abc123.svelte-abc123. The svelte-… portion is generated at build time, changes between releases, and is not a stable styling API. Target only the human-readable part of the class — .day, .week-num, .month, etc. — and prefix with #calendar-container so your overrides apply to Calendar Plus specifically.
Compatibility
Calendar Plus 1.7.14 and later require Obsidian 1.8.7 or newer. Users on older Obsidian builds can remain on Calendar Plus 1.7.13 through Obsidian's version-compatibility mechanism.
Development
npm ci # install dependencies from the lockfile
npm run build # type-check, lint, and bundle to main.js
main.js is generated by the build and shouldn't be edited directly. See CHANGELOG.md for release history and FUTURE_PLANS.md for deferred work.
Changelog
See CHANGELOG.md for release-by-release notes.
License
Calendar Plus is released under the MIT License.
Credits
Calendar Plus began as a fork of Liam Cain's Obsidian Calendar plugin, draws on ideas from Liam Cain's Periodic Notes plugin, and was inspired by FBarrca's Obsidian Calendar fork. It has since evolved into its own integrated calendar + periodic-notes plugin.
Thanks also to the Obsidian developer community for the plugin API and documentation.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.