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

Count Words and Time

FriesFries52 downloads

Track writing session count, writing time, idle time, average speed, and focus rate.

Add to Obsidian
Count Words and Time screenshot
  • Overview
  • Scorecard
  • Updates4

An Obsidian plugin for tracking the current writing session: typed units, writing time, idle time, total time, average speed, and focus rate.

The plugin is designed to work on both Obsidian desktop and mobile. It uses Obsidian APIs, DOM APIs, TypeScript, and browser timers only.

Features

  • Counts newly typed text units during the current session.
  • Supports character count, Chinese character count, and English word count.
  • Deleting text does not reduce the session count.
  • Typing and deleting both count as writing activity for timing.
  • Supports Chinese and English interface languages.
  • Tracks idle time after a configurable inactivity threshold.
  • Shows total time as writing time plus idle time.
  • Calculates average speed from a recent 60-second sliding window.
  • Supports per-hour and per-minute speed display based on the selected count unit.
  • Supports two speed modes: total speed and writing speed.
  • Shows focus rate as a progress bar.
  • Provides pause/resume and start-new-session controls.
  • Supports optional hh:mm time display without seconds.

Sidebar

The writing stats sidebar shows:

  • Count for the selected unit
  • Average speed
  • Writing time
  • Idle time
  • Total time
  • Focus rate progress bar
  • Pause/Resume button
  • Start new session button

Open it from the ribbon icon or the command palette. The command name follows the selected interface language.

Settings

  • Interface language:
    • Follow Obsidian.
    • Chinese.
    • English.
  • Idle threshold: 5, 10, 20, 30, or 60 seconds.
  • Average speed mode:
    • Total speed: word count divided by total time.
    • Writing speed: word count divided by writing time.
  • Speed display unit:
    • Per hour.
    • Per minute.
  • Speed sampling window: the latest 60 seconds. Before the first 60 seconds have elapsed, the plugin uses the elapsed session time so far.
  • Count unit:
    • Characters, ignoring whitespace.
    • Chinese characters.
    • English words.
  • Ignore seconds: display times as hh:mm instead of hh:mm:ss.
  • Auto-open sidebar when the plugin starts.
  • Auto-start tracking when the plugin starts.

Privacy

This plugin does not upload, transmit, or store your note content outside Obsidian.

It does not depend on external services. Session statistics are calculated locally from editor content changes and browser timers.

Compatibility

  • Supports Obsidian desktop and mobile.
  • manifest.json sets isDesktopOnly to false.
  • Runtime code does not use Node.js, Electron, fs, path, or other desktop-only APIs.

Manual Installation

  1. Download or build the plugin files.

  2. Create this folder inside your vault:

    .obsidian/plugins/count-words-and-time/
    
  3. Copy these files into that folder:

    manifest.json
    main.js
    styles.css
    
  4. Restart Obsidian or reload plugins.

  5. Enable Count Words and Time from Settings -> Community plugins.

Development

Install dependencies:

npm install

Run tests:

npm test

Run TypeScript checks:

npm run typecheck

Build the plugin:

npm run build

During development, use:

npm run dev

Release Files

For a GitHub release, attach:

manifest.json
main.js
styles.css

The source repository should include the TypeScript source files, configuration files, tests, package.json, and package-lock.json. Do not commit node_modules/.

Sample

Snipaste_2026-07-27_17-17-54
HealthExcellent
ReviewPassed
About
Track typing activity and session stats: typed units (characters, Chinese characters, or English words), writing time, idle time, total time, and a focus-rate progress bar. Display average speed using a 60-second sliding window with per-minute or per-hour rates, and control sessions with pause/resume and start-new-session from a sidebar on desktop and mobile.
WritingSidebar
Details
Current version
0.1.3
Last updated
Last week
Created
Last month
Updates
4 releases
Downloads
52
Compatible with
Obsidian 1.13.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
FriesFriesperry661
GitHubperry661
  1. Community
  2. Plugins
  3. Writing
  4. Count Words and Time

Related plugins

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.

Notebook Navigator

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

Vertical Tabs

Offer an alternative view that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience.

TagFolder

Show tags as folder.

Recent Files

Display a list of recently opened files.

Text Generator

Generate text content using GPT-3 (OpenAI).

LanguageTool Integration

advanced spell/grammar checks with the help of language-tool.

Smart Composer

AI chat with note context, smart writing assistance, and one-click edits for your vault.

Typewriter Mode

Typewriter scroll, writing focus, current line highlight, paragraph dimming, and more!

Longform

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