README file from
GithubSection Meter
Section Meter is an Obsidian plugin that shows useful writing statistics beside your note title and headings.
See the word count, character count, and estimated reading time for each section without leaving the editor. You can also add writing targets and follow your progress as you write.
Created by Martino Wong with Codex.
How it works
Each heading gets a small badge showing statistics for the section beneath it.
A section continues until the next heading of the same or a higher level. This means a parent heading includes everything inside its smaller subheadings.
For example:
# Chapter one
Introduction...
## First scene
Scene text...
## Second scene
More text...
The badge beside Chapter one counts the introduction and both scenes. Each scene heading counts only its own section.
Features
- Statistics beside headings from
#to###### - Whole-note statistics beside the note title
- Word, character, and estimated reading-time counts
- Whole-note and selected-text statistics in the status bar
- Section statistics for selected text
- Writing targets for a whole note or individual sections
- Progress bars that make targets easy to follow
- Adjustable reading speed
- Optional spaces in character counts
- Customizable labels and separators
- Options to hide empty or very short sections
- Fast, local counting with no text sent anywhere
Section Meter focuses on readable prose. It leaves out frontmatter, code blocks, inline code, embeds, comments, and HTML when calculating statistics.
Writing targets
Add a Target: line to set a writing goal.
Place it before the first heading to create a target for the whole note:
Target: 1200 words
# My draft
Start writing here...
Place it inside a section to create a target for that heading:
# Introduction
Target: 250 words
Introduction text...
## Background
Target: 1800 characters
Background text...
You can create targets using:
- Words:
Target: 250 words - Characters:
Target: 1800 characters - Reading time:
Target: 3 min,Target: 3m, orTarget: 2m 30s
Target lines are not included in your statistics.
A target on a parent heading covers its complete section, including smaller subheadings. It remains visible in the status bar while you work inside those subheadings. If a smaller section has its own target, that target takes priority while you are inside it.
Progress bars change colour as you approach your target. They turn green when the target is reached and red when you pass the configured overage warning.
Customization
Section Meter's settings let you choose:
- Which statistics appear beside headings
- Which statistics appear in the status bar
- Whether character counts include spaces
- Your preferred reading speed
- Count-based or percentage-based target labels
- When target overage warnings appear
- The minimum section size required to show a badge
- Whether badges appear for empty sections
Limitations
Section Meter currently works in the editor, not Reading view.
Counts are calculated using fast Markdown cleanup rather than Obsidian's complete renderer. Content generated by plugins such as Dataview, rendered transclusions, and complex mathematics may therefore produce slightly different results from what appears on screen.
Manual installation
Download or build the plugin, then copy these files into .obsidian/plugins/section-meter inside your vault:
main.jsmanifest.jsonstyles.css
Restart Obsidian—or reload your installed plugins—then enable Section Meter under Community plugins.
Development
Install the dependencies:
npm install
Run the tests:
npm test
Build the plugin:
npm run build
For local testing, copy or symlink this repository into your vault's .obsidian/plugins/section-meter directory. Build the plugin, then enable it in Obsidian.
License
Section Meter is available under the MIT License.
It is an independent community plugin and is not affiliated with, endorsed by, or sponsored by Obsidian.