Matt Maiorana2k downloadsCalendar view with integrated daily, weekly, monthly, quarterly, and yearly notes. An update of the Calendar plugin.
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:
There are also many bug fixes that bring both the calendar view and periodic note functionality up to modern Obsidian plugin standards.

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.
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:
A note on folders in the date format. Your Date format may contain / to sort notes into subfolders — e.g. YYYY/MM-MMMM/YYYY-MM-DD files each day under a year/month folder. Just keep one rule in mind: the filename (the part after the last /) has to identify the period on its own. Calendar Plus reads the date back from the filename, not from the folder names, so any date component that lives only in a folder is ignored. Concretely, the filename needs every part coarser than the note's own period:
…/YYYY-MM-DD)…/gggg-[W]ww)✅ YYYY/MM/YYYY-MM-DD — folders organize; the full date is still in the filename
⚠️ YYYY/MM/DD — year and month live only in folders, so every month's 15 would be read as the same day
(Folders are optional — a flat format like YYYY-MM-DD is perfectly fine and needs nothing special.)
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.
- [ ] / * [ ] tasks.Each of the five note types — Daily, Weekly, Monthly, Quarterly, Yearly — has its own Enable toggle, Date format, Folder, and Template file setting.
An optional second daily note per day, accessed by right-clicking a day cell (or Option/Alt + click). Configure it independently under Settings → Calendar Plus → Periodic notes → Second daily notes:
YYYY-MM-DD, the same as the primary daily note — change this or use a different folder to keep the two sets of notes distinct.When enabled, right-clicking any day cell shows a context menu. If neither note exists yet, the menu offers Create daily note and Create second daily note. When the primary daily note exists, Open daily note and Delete daily note appear at the top; when the second daily note exists, Open second daily note and Delete second daily note are shown (deletions respect your Obsidian trash preference). If the primary note exists, its standard file actions appear below. You can also Option/Alt + click a day cell to open its second daily note, or create one if it doesn't exist yet (add Cmd/Ctrl to open it in a new tab or split). A half-opacity dot marks day cells that have a second daily note, alongside any primary-note dots.
Optionally show a note's image as the calendar cell background, turning your calendar into a visual journal. Configure under Settings → Calendar Plus → Featured images:
banner, image, cover). The first property that points to a vault image wins; if none match, the note's first embedded image is used. Vault images only — external URLs are ignored.A dark gradient keeps the date number and dots readable over any image, and the selected day shows a translucent accent overlay so the image stays visible.
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.
By default, a filled dot on a day cell means a periodic note exists for that day, and a dot on a week-number cell means a weekly note exists. If you'd like dots to reflect word count and open tasks instead, switch the Dot style setting to "Word count and open tasks" — daily and weekly notes will then show filled dots based on word count plus one hollow dot when the note has open - [ ] or * [ ] tasks.
It's a second note you can create for any day, separate from your primary daily note. Common uses: call notes, separating work and personal notes, keeping a journal, or anything else you'd rather not mix into your main daily note. Both notes are navigable from the calendar. Enable it under Settings → Calendar Plus → Periodic notes → Second daily notes and configure a distinct folder or filename format to keep the two sets of files separate.
When enabled, Calendar Plus shows a daily or weekly note's image as that calendar cell's background — great for journaling, giving you a photo-per-day view of your month. The image comes from a frontmatter property (it checks banner, then image, then cover by default — all configurable), or the note's first embedded image if none is set. Only images stored in your vault are used. Turn it on under Settings → Calendar Plus → Featured images.
It's an optional history button in the calendar header that opens a compact 12-month grid, so you can jump between months and years without clicking the month arrows repeatedly. Click a month to jump to it, or use the year arrows to change years; a dot marks each month that contains any daily, weekly, or monthly note. Enable it with Show history navigator button under Settings → Calendar Plus.
Enable Weekly notes in the Calendar Plus settings. Week-number cells appear automatically; clicking one opens or creates the weekly note for that week.
From the Settings tab, use the Start week on dropdown.
Right-click the calendar's view icon in the sidebar and choose Close. Reopen it later from the Command Palette: Calendar Plus: Open view.
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.
If you see a "failed to load" error (the console shows main.js couldn't be opened), the plugin's code file is missing on that device — usually because it arrived via Obsidian Sync, which carries the plugin's settings but not always its program file. Fix it by installing the plugin directly on that device: Settings → Community plugins → Browse → search "Calendar Plus" → Install (or reinstall). That downloads the plugin's files straight to the device instead of relying on Sync.
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}}]]
Enable Second daily notes under Settings → Calendar Plus → Periodic notes and set its Folder to somewhere like Meetings and its Template file to your meeting-note template. Right-click any day cell (or Option/Alt + click) to create or open that day's meeting note without leaving the calendar. Both notes show dots on the day cell, so you can see at a glance which days have meetings.
Hold Ctrl or Cmd while hovering a day cell to preview the corresponding daily note.
Ctrl/Cmd-click any calendar item — a day cell, a week-number cell, or a month/quarter/year header label — to open the note in a new tab or new split, depending on the Ctrl/Cmd + Click Behavior setting.
Click the Today button in the calendar header to jump back to the current month. If Daily notes are enabled, this also opens or creates today's daily note. The Today button is shown on desktop by default and is hidden on mobile unless Show Today button on mobile is turned on.
Run Calendar Plus: Reveal active note from the Command Palette to scroll the calendar to the month containing the currently-open periodic note.
Set --color-background-weekend in your obsidian.css to any color to distinguish weekend columns.
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. |
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.
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.
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.
See CHANGELOG.md for release-by-release notes.
Calendar Plus is released under the MIT License.
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.