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

Checkbox Sort

mattang687mattang6872k downloads

Automatically moves completed checkboxes to the end of the list

Add to Obsidian
  • Overview
  • Scorecard
  • Updates5

Automatically moves completed checkboxes to the bottom of their list group when toggled. Preserves nested list structure while sorting.

Basic Example ▶️

Click any checkbox to toggle it and watch it sink to the bottom of its peer group:

- [ ] Buy milk  <-- Click this checkbox
- [ ] Get gas
- [x] Bread     (already completed)

Becomes after clicking:

- [ ] Get gas    ← Unticked stays on top
- [x] Buy milk   ← Newly completed moves here
- [x] Bread      ← Existing completed items

Features ✨

  • Three-level configuration (global/file/list-marker)
  • Nested list support - child items stay with parents
  • Smart grouping - only affects peers at same indentation
  • Multi-list handling - works with multiple lists in one file

Installation ⬇️

  1. Open Obsidian → Settings → Community plugins
  2. Click "Browse" and search "Obsidian Checkbox Sort"
  3. Install and enable plugin
  4. (Optional) Configure default behavior in plugin settings

Usage 🛠️

Configuration Hierarchy (Lowest to Highest):

  1. Global Setting
  2. File Frontmatter (checkbox-sort: [true|false])
  3. List Marker (%%checkbox-sort: [true|false]%%)

Global Setting (enabled by default):

- [ ] Buy milk   <-- Click toggles and sorts
- [ ] Get gas

File Frontmatter (add to YAML frontmatter):

---
checkbox-sort: false  # Disable for this file
---

List Marker Override:

%%checkbox-sort: false%%  <-- Disables sorting for next list
- [ ] Task 1
- [ ] Task 2

%%checkbox-sort: true%%  <-- Enables sorting for this list
- [ ] Task A
- [ ] Task B

Nested List Example:

- [ ] Parent 1
  - [ ] Child 1
  - [ ] Child 2  <-- Click this checkbox
  - [ ] Child 3
- [ ] Parent 2

Becomes after clicking:

- [ ] Parent 1
  - [ ] Child 1
  - [ ] Child 3
  - [x] Child 2  <-- Completed moves here
- [ ] Parent 2

How It Works 🔧

  1. Clicking a checkbox:
    • Toggles task state
    • Finds all peer items at same indentation level
    • Groups unticked items first (sorted as-is), then ticked items
    • Preserves nested list structure under each item

Troubleshooting ⚠️

Sorting not working?
→ Verify no conflicting list markers exist above
→ Check frontmatter isn't overriding global settings
→ Ensure marker comments are directly above list

New file issues?
→ Save file first for frontmatter settings to take effect

HealthExcellent
ReviewSatisfactory
About
Move completed checkboxes to the bottom of their peer group when toggled. Preserve nested list structure and sort only items at the same indentation level so child items stay with their parent. Respect global, file frontmatter, and per-list markers to enable or disable sorting at each scope.
TasksAutomation
Details
Current version
0.2.0
Last updated
Last month
Created
Last year
Updates
5 releases
Downloads
2k
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
mattang687mattang687
github.com/mattang687
GitHubmattang687
  1. Community
  2. Plugins
  3. Tasks
  4. Checkbox Sort

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.