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

Checklist Timer

AnandAnand70 downloads

Times how long each checklist item takes to complete.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates7

Times how long each item in a checklist takes, so you can see which steps in a recurring process — a weekly review, a deploy checklist, any process you run more than once — are actually eating the time.

It's not a Pomodoro timer, and it's not an invoicing/billable-hours tool. It's a process-insight tool for repeatable checklists.

How it works

Mark a checklist as timed with a tag on its own line directly above the list (default #Timed, configurable in settings — matched case-insensitively, so #timed works too):

#Timed
- [ ] Start week plan
- [ ] Review calendar
- [ ] Draft priorities
- [ ] Send updates

Checking off the first item starts the clock. Each time you check off the next item, the time since the previous check-off is recorded against it, and timing continues automatically through the rest of the list.

Want a different item to be the starting point instead of the first one? Tag it with #Start (also configurable) anywhere in the list — items before it are simply not timed:

#Timed
- [ ] Gather notes (not timed)
- [ ] #Start Kickoff
- [ ] Next step

A session ends when the last item is checked off, or you stop it manually via the ribbon icon or the "Stop active timer" command. The timing note is written incrementally as you go, so even an abandoned checklist keeps whatever was already timed. When a session ends, a summary sorted by duration (slowest first) is appended so the bottleneck is easy to spot.

If you need to step away mid-run, the "Pause active timer" and "Resume active timer" commands freeze the clock for the current item — time spent paused isn't counted against it. Checking off the next item resumes automatically.

Only one checklist can be timed at a time. If you start a second one while another is running, by default the first is stopped automatically (saving what it had timed) and the second starts — this is configurable.

Settings

  • Timed checklist tag — marks a checklist as timed (default #Timed, matched case-insensitively).
  • Start item tag — marks the start item within a timed checklist (default #Start, matched case-insensitively).
  • Auto-switch between checklists — automatically stop-and-switch when a second timed checklist is started while one is running, instead of blocking it (default on).
  • Output folder — where timing notes are saved (default: vault root).
  • Filename template — supports {{date}} and {{title}} placeholders.

Example output

# Checklist timing — Week Plan

- Review calendar: 00:02:14
- Draft priorities: 00:08:41
- Send updates: 00:01:03

Total: 00:11:58

## Sorted by duration (slowest first)

- Draft priorities: 00:08:41
- Review calendar: 00:02:14
- Send updates: 00:01:03

Scope

Desktop only. Nested/indented checklist items aren't rolled up into their parent's time yet. There's no session persistence — if Obsidian closes or crashes mid-session, the in-progress timer is lost, but anything already timed and written to the note is safe.

Installation

Available from Obsidian's Community Plugins:

  1. Settings → Community plugins → Browse.
  2. Search for "Checklist Timer".
  3. Install, then enable it.

To manually install a specific release instead (e.g. to try a version before it's landed in Community Plugins):

  1. Download main.js and manifest.json from the desired release at https://github.com/AnandSie/obsidian_plugin_checklist_timer/releases
  2. Create a folder named checklist-timer inside <YourVault>/.obsidian/plugins/.
  3. Copy both files into that folder.
  4. Reload Obsidian and enable Checklist Timer under Settings → Community plugins.

Development

npm install
npm run dev    # rebuilds on change
npm test       # unit tests
npm run build  # production build
HealthExcellent
ReviewPassed
About
Time each checklist item automatically to reveal which steps in recurring processes take the most time. Mark a checklist with a tag to start timing, check items to record per-item durations incrementally, and append a sorted summary highlighting bottlenecks.
TasksAutomation
Details
Current version
1.3.0
Last updated
2 weeks ago
Created
Last month
Updates
7 releases
Downloads
70
Compatible with
Obsidian 1.4.0+
Platforms
Desktop only
License
0BSD
Report bugRequest featureReport plugin
Author
AnandAnandanandsie
GitHubanandsie
  1. Community
  2. Plugins
  3. Tasks
  4. Checklist Timer

Related plugins

Task Collector

Change task status and collect tasks within a document using hotkeys and context menus.

Rollover Daily Todos

Rollover any unchecked checkboxes from your last daily note into today's note.

Todoist Sync

Materialize Todoist tasks within your notes.

Things3 Sync

Sync between Obsidian and Things3. Supports multi-language, tags and dates.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

TaskNotes

Note-based task management with calendar, pomodoro and time-tracking integration.

BRAT

Easily install a beta version of a plugin for testing.

Advanced URI

Control everything with URI.

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.