Word Count Property puts word counts and reading time in note properties

Sort, filter and sum your notes by length in Bases with numeric word count properties.

MIT · no telemetry · core features free

A Bases table shows chapter, word count and reading time columns for two notes.
Open larger
version
1.2.0
released
downloads
13
review
Passed
health
Excellent
license
MIT
listed for
Desktop, Mobile
obsidian
1.13.4 or later

The directory takes these platforms from the plugin manifest. The automated tests run in the desktop app only.

Directory facts fetched from community.obsidian.md/users/theluckystrike.

About Word Count Property

You track the length of chapters or drafts and want to sort and sum them in a Bases table.

Run one command to opt a note in. Word Count Property then writes a numeric wordCount and readingTimeMinutes value to its properties and refreshes them after edits. Bases can sort, filter, group and summarize these columns.

The chapter count goes up in Bases after a sentence is added to its note.Play demo

Free features

Numeric columns for Bases

The values are numbers, so Bases can sort, filter, group and summarize them. Use note.wordCount and note.readingTimeMinutes in a table.

A Bases table with chapter, word count and reading time columns for two notes.
Open larger

Opt in one note at a time

The toggle command adds a wordCountTracked: true marker and the two numeric values. A note without the marker does not change. If wordCount or readingTimeMinutes already exists, the plugin reports a conflict and leaves the note as it was.

A chapter note shows its word count and reading time in its properties.
Open larger

Updates after edits

The plugin refreshes tracked notes after edits and checks them again after startup. It waits at least five seconds after the last change, and it skips the write when the number stays the same.

The Bases table shows a higher count after a tracked chapter grows.
Open larger

Word count and reading time properties are free; the rendered-text reading preview needs Pro.

Pro features

Pro costs $5 a month or $15 one time through GitHub Sponsors. One sponsorship turns on Pro in every plugin that has it.

Local reading preview Pro

Pro adds a local reading preview with rendered-text and code display options. The preview skips frontmatter, link destinations, embeds, HTML tags, comments and fenced code. It never rewrites notes, so every device stores the same source-based values.

The settings page shows the rendered text options and the one-time offer link.
Open larger

Set up Word Count Property

needs

  • Obsidian 1.13.4 or later
  • The Bases core plugin, to show the values in a table

steps

  1. Open a Markdown note that you want to include in a writing view.

  2. Run Toggle word count tracking for the current note from the command palette.

  3. Check that wordCountTracked, wordCount and readingTimeMinutes appear in the note properties.

  4. Add wordCount and readingTimeMinutes as columns in a Bases table, then sort, filter or summarize them.

If the app can't find a new plugin yet, try again later. Obsidian says a plugin that passes the review shows in the app within 24 hours.

Why this exists

A forum request asks for a word count function property in Bases. A second forum request asks for a word count of the rendered preview text.

Read the request

How it compares

Novel Word Count
Novel Word Count shows statistics in the file explorer. Word Count Property writes numeric properties that Bases can query.
Auto Properties
Auto Properties can also generate frontmatter, including word counts and reading time. Word Count Property works per note, counts Chinese and Japanese text, and refuses to replace values that another workflow owns.

Need a change for your team? I build custom Obsidian plugins and features.

Questions about Word Count Property

What does the free word count include?

It counts the note source outside a valid frontmatter block. Markdown code, comments and link destinations count. YAML fields do not count.

What happens if my notes already use wordCount?

The opt-in command refuses to start when wordCount or readingTimeMinutes already exists. Rename the field of the other workflow if you want this plugin to manage these names. A manual change to a generated value pauses updates for that note.

How is reading time calculated?

The plugin uses 200 words per minute, and 500 Chinese and Japanese characters per minute. It rounds the value up to whole minutes. An empty note stores zero.

Why is a count not current?

Make sure that the marker is the YAML boolean true and that the note has valid frontmatter. Obsidian must read the updated frontmatter before the new values show in Bases.

Network use

Until you select Sign in with GitHub, the plugin makes no network requests. Sign in and the sponsorship check contact github.com and api.github.com, and a successful check is reused for 7 days. It sends no note content, file names or other vault data, and it has no telemetry.

Read the full network disclosure

Questions or ideas?

Tell me what is broken in Word Count Property, or what it should do next.

Send feedback

Word Count Property 1.2.0, MIT license

MIT · no telemetry · core features free