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

mattang687mattang6871k downloads

Automatically moves completed checkboxes to the end of the list

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

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

HealthGood
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.1.3
Last updated
Last year
Created
Last year
Updates
4 releases
Downloads
1k
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.

Todoist Sync

Materialize Todoist tasks within your notes.

Rollover Daily Todos

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

TaskNotes

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

BRAT

Easily install a beta version of a plugin for testing.

Homepage

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

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.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.

Lazy Loader

Load plugins with a delay on startup, so that you can get your app startup down into the sub-second loading time.