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

Writing Dashboard

zzzhczzzhc31 downloads

Track your writing locally with a yearly heatmap and monthly statistics.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates6

简体中文 · English

Writing Dashboard

See your writing activity without leaving Obsidian.

Yearly heatmap · Monthly trends · Live word counts

Demo of the yearly overview, heatmap, monthly trends, and live word counts

Download the MP4 · Install · Usage · Development


Writing Dashboard is a local writing statistics plugin for Obsidian. It shows a yearly heatmap, daily note activity, and monthly word counts in the right sidebar.

Features

Feature What it shows
Yearly overview Switch years to see writing days and cumulative words. The totals at the top describe the Markdown notes currently included in your vault.
Writing heatmap Opens on today. Hover over a date for statistics, then click it to see and open its notes. Keyboard navigation is supported.
Monthly trends Compare the word counts recorded for each month of the selected year.
Live statistics Preview changes as you type; Obsidian confirms them on save. The desktop status bar shows today's note and word counts and toggles the dashboard.
Local index Import selected Markdown files or folders, exclude paths, change the counting rules, or pause tracking.

Installation

Requires Obsidian 1.8.7 or later.

  1. Download main.js, manifest.json, and styles.css from GitHub Releases.
  2. Put all three files directly in the writing-dashboard folder under .obsidian/plugins/ inside your vault. If you use a custom configuration folder, use it instead of .obsidian.
  3. Restart Obsidian and enable Writing Dashboard under Settings → Community plugins.

To upgrade, replace all three files together and keep data.json. You do not need Node.js or Git to use the plugin.

Usage

  1. Click the ribbon icon or the desktop status-bar count, or run Writing Dashboard: Open dashboard. Click the status bar again to close the open dashboard.
  2. Choose a year or select a date to see its notes. Scroll the heatmap left for earlier dates; use the Today button (今天 in the screenshots) to return.
  3. To import older notes, open the plugin settings and enter individual Markdown paths or folders under 补录旧笔记 (Import older notes), one per line. Choose 保存并重建 (Save and rebuild). The Vault root is not an import target. ··· → Rebuild index refreshes known notes and these saved selections. On mobile, if no scope is saved, this opens the import prompt. You can also long-press a note or folder in the file explorer and choose 补录写作统计 (Import into writing statistics).
View the full dashboard Full sidebar dashboard with yearly totals, a writing heatmap, note details, and monthly trends

How counting works

  • Vault totals reflect the number of included Markdown notes and the length of their current body text. Deleting text reduces the vault's word count.
  • Daily and monthly counts combine indexed text from existing notes with confirmed additions after the plugin is enabled. Indexed text uses the note's date; new additions use the local editing date. Each note counts once per day. A day with a positive word count counts as a writing day.
  • Note dates prefer a valid YAML created property by default, falling back to the local file creation time. You can restore file-time priority in settings. Rebuild the index after correcting a date on an already indexed note. If neither date works, the note still contributes to totals without a dated entry.
  • Each Han character counts as one unit. Other words and continuous runs of digits count as one unit each. YAML, code blocks, inline code, images, and embeds are excluded by default. Settings can include YAML or code blocks; inline code and the creation date remain excluded.
  • Preview counts are confirmed on save. Saving the same content twice does not count it twice. When only a positive net change can be confirmed, the dashboard shows that minimum and marks the change as partial. Deleting text does not subtract already confirmed additions from historical counts.

Creation dates across devices

When you open a newly created blank Markdown note, the plugin adds a local calendar date as the created property by default. It preserves existing values and does not bulk-edit older notes or stamp notes arriving with content. For notes created from a non-empty Obsidian template, add created: "{{date:YYYY-MM-DD}}" to the template. Automatic stamping and date priority can be changed independently in settings.

A valid created property follows the note when you sync it, so the indexed date does not depend on the device's filesystem timestamp. It does not sync daily editing history or import scopes.

Data and privacy

Writing Dashboard runs locally and does not send notes, statistics, or telemetry. Startup refreshes only notes already known to the plugin. It also tracks Markdown notes you open, create, or edit. A manual import scans only the Markdown files or folders you select, and skips excluded paths. The totals cover those known and imported notes. Upgrading preserves existing statistics. Settings and statistics are stored in your vault's .obsidian/plugins/writing-dashboard/data.json. This file contains note paths and counts, but no note bodies. Quit Obsidian before backing it up. Rebuilding on one device does not transfer daily history from another device. The plugin does not merge statistics written concurrently by multiple devices.

Development

Use Node.js 22:

npm ci
npm run check
npm test
npm run build

The build generates main.js. Run npm run dev to rebuild on changes. Changelog · Third-party notices

For bug reports, include the plugin version, Obsidian version, operating system, and steps to reproduce. Do not share your entire vault or data.json.

License

Apache License 2.0. The compiled plugin includes the license text and third-party notices.

HealthExcellent
ReviewPassed
About
View writing activity, daily notes and word-count trends in a right sidebar dashboard with a heatmap, monthly and annual overviews plus a top card showing total vault words and Markdown note count. Track live typing updates and saved confirmations, browse days from the heatmap, and keep all stats local — no account required and no note contents uploaded.
WritingSidebarVisualization
Details
Current version
0.3.8
Last updated
Yesterday
Created
2 days ago
Updates
6 releases
Downloads
31
Compatible with
Obsidian 1.8.7+
Platforms
Desktop, Mobile
License
Apache-2.0
Report bugRequest featureReport plugin
Author
zzzhczzzhczzzhc
ckxkx.github.io/
GitHubckxkx
GitHubCkxkx
  1. Community
  2. Plugins
  3. Writing
  4. Writing Dashboard

Related plugins

Longform

Helps you write and edit novels, screenplays, and other long projects.

StoryLine

Transform your vault into a powerful book planning and writing tool. Corkboard, KanbanBoard view, timeline, plotlines,character tracking, and more.

Novel word count

Display a word count, page count, creation date, or other statistics for each file, folder and vault in the File Explorer pane.

Word Sprint

Word Sprint for your writing projects like NaNoWriMo.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

ExcaliBrain

An interactive, structured mind-map of your Obsidian vault.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.