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

Caretsort

simrattsimratt27 downloads

Minimalist table sort. Click the caret in any column header to sort rows A→Z, Z→A, or numerically.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates3

A minimalist table sort for Obsidian. Named for the ▾ caret you click and a quiet nod to quicksort.

demo gif placeholder

Why I made this

Obsidian is one of those amazing tools which allow you to customize it to your liking. I like using tables in my vault for things like project lists, job trackers, reading lists, etc. I wanted a simple "one-click" solution that sorts the tables alphabetically/ascending/descending. After looking around, I came across plugins like Dataview and Advanced Tables, but no click-to-sort like I wanted.

This is my "painkiller solution." There are no API calls or external services or config files etc. One button, one dropdown, and done.

What it does

Adds a little ▾ next to every column header. Click the arrow, pick A → Z or Z → A, and the plugin rewrites your markdown file in place. For numerical values, it shows Ascending or Descending. The new sort order reflects in the markdown file because it's actually edited on the disk, not just in a view.

You can also undo the last sort from reading view. To use it, open Settings → Hotkeys, search for "Caretsort: Undo last table sort", and bind whatever key you want (e.g. Cmd/Ctrl+Z). No default is set to avoid conflicting with Obsidian's built-in shortcuts.

header dropdown placeholder

Installation

Manual (for now):

  1. Grab main.js, manifest.json, and styles.css from the latest release.
  2. Drop them into <your-vault>/.obsidian/plugins/caretsort/.
  3. In Obsidian: Settings → Community plugins → enable Caretsort.

Works in both reading view and live preview (as long as your cursor isn't inside the table you're sorting).

What it handles

  • Wiki-links with aliases like [[file|display name]] — the internal pipe doesn't break column splitting (regex swaps them out before parsing, swaps them back after).
  • Numeric columns sort numerically.
  • Text columns sort alphabetically, ignoring link syntax so you sort by what you see, not the URL.

What it doesn't do (yet)

  • Sort while your cursor is inside the table in live preview (would need a CodeMirror extension, much bigger lift).
  • Multi-column sort.
  • Remember last sort per table.

If I end up wanting any of these I'll add them. PRs welcome if you beat me to it.

Development

Clone the repo, install dependencies, and either watch for changes or build once.

npm install
npm run dev      # watch mode — rebuilds on file save
npm run build    # one-off production build

Output lands in main.js. Copy main.js, manifest.json, and styles.css into <your-vault>/.obsidian/plugins/caretsort/ and reload Obsidian (Cmd/Ctrl+R) to test.

Credits

Built in a single session with Claude Code. The idea, the regex implementation, and the scope decisions were mine — Claude wrote the scaffolding and the TypeScript faster than I could have alone.


Made by Simrat Bains · MIT

99%
HealthExcellent
ReviewPassed
About
Add a ▾ caret to table headers and click to sort columns A→Z or Z→A. Write the new order back to the Markdown file, sorting numbers numerically and using displayed wiki-link text for alphabetical sorts. Work in reading view and live preview and provide an undo for the last sort.
TablesEditing
Details
Current version
0.1.2
Last updated
Last week
Created
Last month
Updates
3 releases
Downloads
27
Compatible with
Obsidian 1.4.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
simrattsimratt
github.com/Simratt
GitHubsimratt
  1. Community
  2. Plugins
  3. Tables
  4. Caretsort

Related plugins

Advanced Tables

Improved table navigation, formatting, and manipulation.

Datacore

An even faster reactive query engine for the data obsessed.

CalcCraft

Enable table-based calculations with a spreadsheet-like approach, utilizing references. Highlight the dependencies within tables and identifies circular references with support for array formulas.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Outliner

Work with your lists like in Workflowy or Roam Research.

Various Complements

Complete words similar to auto-completion in an IDE.

Creases

Tools for effectively folding Markdown sections.

Simplified Chinese Word Splitting

Adds Simplified Chinese word splitting support for the editor and Vim mode.

LanguageTool Integration

advanced spell/grammar checks with the help of language-tool.

Easy Typing

Auto format when typing.