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

Better Kanban Bases View

Toto TvalavadzeToto Tvalavadze

Adds a focused Kanban view for Obsidian Bases with draggable cards, keyboard reordering, note previews, and saved layouts.

Add to Obsidian
Better Kanban Bases View screenshot
  • Overview
  • Scorecard
  • Updates2

Better Kanban Bases View screenshot

A focused Kanban view for Obsidian Bases with draggable cards, keyboard reordering, note previews, and saved layouts.

Columns are built from the active Bases grouping, and cards show each note's title plus the properties already selected in Bases, including formula values. The view keeps Obsidian's existing Base controls for sorting, grouping, filtering, and property selection, while adding a board layout for planning and reviewing notes.

Install

Once approved in the Obsidian community directory, install Better Kanban Bases View from Settings > Community plugins.

For a manual install, download the release assets and place them in:

.obsidian/plugins/bases-kanban-view-ttvl/
  manifest.json
  main.js
  styles.css

Compatibility

Requires Obsidian 1.10.2 or newer. The plugin uses the Bases view API and is not marked desktop-only.

Features

  • A custom Kanban Bases view
  • Columns derived from the active Bases grouping (see note 1 below)
  • Cards that render the note title plus the properties already selected in Bases
  • Formula properties selected in Bases render as card metadata with a formula icon
  • Optional small or large plain-text note previews below card properties
  • Add-note buttons for writable grouped columns
  • Drag-and-drop column reordering
  • Drag-and-drop card reordering within a column
  • Cross-column card moves when the board is grouped by a writable note.* property
  • Context menu actions for moving cards and columns
  • Card menu actions to rename or delete notes
  • Keyboard card focus with arrow keys
  • Keyboard card moving with ⌘ / Ctrl arrow shortcuts
  • Animated keyboard card moves that respect reduced-motion preferences
  • Persisted column order per grouping
  • Persisted manual card order per grouping (see note 2 below)
  • View options to hide empty card properties and choose the card preview size

Keyboard usage

Cards can be focused with the mouse or with the keyboard. When a card is focused:

  • ↑ and ↓ move focus within the current column.
  • ← and → move focus between columns, keeping the same approximate row where possible.
  • If no card is focused yet, the first arrow-key navigation starts at the first card in the first non-empty column.
  • Moving the mouse over a card focuses that card. After keyboard navigation or keyboard moving, stationary mouse hover is ignored until the pointer moves again.

Card movement shortcuts use Obsidian's modifier key: ⌘ on macOS / Ctrl on Windows and Linux. Boundary shortcuts also use ⌥ on macOS / Alt on Windows and Linux.

  • ⌘↑ / Ctrl+↑ and ⌘↓ / Ctrl+↓ move the focused card one position within its column.
  • ⌘← / Ctrl+← and ⌘→ / Ctrl+→ move the focused card to the adjacent column.
  • ⌥⌘↑ / Alt+Ctrl+↑ sends the focused card to the top of its column.
  • ⌥⌘↓ / Alt+Ctrl+↓ sends the focused card to the bottom of its column.
  • ⌥⌘← / Alt+Ctrl+← and ⌥⌘→ / Alt+Ctrl+→ behave the same as the non-option column moves.

Keyboard card movement is available when the board has an active Bases grouping. Cross-column keyboard moves require the grouping to be a writable note.* property because the plugin must update note frontmatter to move the card between groups. Boards grouped by formula.* properties can still use column ordering and same-column card ordering, but formula columns are computed and cannot be used as writable drop targets.

Card previews

Card previews can be set to None, Small, or Large from the view options. Preview text is derived from the note body, skips frontmatter and common Markdown noise, and is truncated to keep cards compact.

Formula properties

Formula properties selected in the Bases Properties menu are shown in each card's metadata list. The view uses Obsidian's evaluated Bases values, so formula output renders through the same Value.renderTo path as note and file properties.

Design goals

  • Reuse the existing Sort, Group, Filter, and Properties controls instead of introducing separate kanban settings
  • Keep the styling minimal so the view feels like part of Bases rather than a themed plugin
  • Prefer pragmatic UX decisions over ornamentation or broad customization
  • Keep interactions fast and predictable (fast updates, no jumping DOM, etc.)

Privacy and safety

  • No telemetry or analytics.
  • No network requests.
  • No account, license key, or paid service required.
  • No access to files outside the vault.
  • Uses Obsidian APIs to read notes shown by the active Base, create notes from kanban columns, and update note frontmatter when cards move between writable note.* groups.

Development

Install dependencies and run the local checks:

npm install
npm test
npm run lint
npm run build

Start watch mode:

npm run dev

For local vault development, symlink this repo into:

.obsidian/plugins/bases-kanban-view-ttvl

Release

The first community release starts at 0.5.0.

  1. Update manifest.json, package.json, and package-lock.json to the release version.
  2. Update versions.json only when the required Obsidian version changes.
  3. Run npm test, npm run lint, and npm run build.
  4. Create a GitHub release whose tag exactly matches manifest.json version.
  5. Attach main.js, manifest.json, and styles.css to the release.

Notes

1. Note on rawKanbanView and runtime API

I wanted column reordering to respect the built-in Bases groupBy UI instead of adding a second grouping selector in plugin settings. Another selector would create a second source of truth for the same concept, which felt confusing and easy to desync from the active Base view.

In practice, the public BasesViewConfig surface exposed the active sort state but did not expose the current built-in groupBy selection in a usable way for this feature, and I could not find a documented public accessor for it. To keep the UI aligned with the actual active Bases view, the plugin reads the active kanban view's runtime query.views entry through rawKanbanView.

This is an intentional tradeoff: it uses observed runtime shape because the documented public API did not appear to expose the active groupBy, but it avoids introducing duplicate settings and keeps column ordering scoped to the grouping the user actually picked in Bases.

2. Note on ordering behavior

Card ordering has two "modes" (not a user facing term), automatic and manual.

In automatic mode, the board simply follows the active Bases sort. If the user chooses a sort from the Obsidian Bases UI, the cards should appear in that order and no manual card arrangement is treated as active.

In manual mode, the user has started rearranging cards directly. At that point, the board behaves like a fixed snapshot of the current grouped board rather than continuing to follow the live Bases sort for card order.

Manual mode is reset as soon as the user changes the Bases sort again.


Future work

  • Better handling for date-typed properties, including daily note awareness and interaction
  • Smarter property type detection and cleaner formatting, ideally configurable from the view
  • Proper mobile validation; I have not tested it thoroughly yet, although this.app.emulateMobile(true); suggests the basic layout should be workable

License

MIT

86%
HealthExcellent
ReviewSatisfactory
About
Better Kanban Bases View adds a clean Kanban layout to Obsidian Bases. Columns are built from the active Bases grouping and cards show each note's title plus the properties you already selected in Bases, including formula values. Choose whether to show empty properties and add small or large plain-text previews from the note body. Reorder columns and cards with drag-and-drop, keyboard shortcuts, or context menus. Layouts are saved per grouping, and card order resets naturally when the Base sort changes. When a board is grouped by a writable note property, moving a card to another column updates that note's frontmatter. You can also add notes directly to writable columns and rename or delete notes from the card menu. The plugin keeps the interface minimal and uses Obsidian's existing Base controls for sorting, grouping, filtering, and property selection. It makes no network requests and has no telemetry.
BasesProject managementVisualization
Details
Current version
0.6.0
Last updated
48 minutes ago
Created
8 hours ago
Updates
2 releases
Compatible with
Obsidian 1.10.2+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Toto TvalavadzeToto Tvalavadzettvl
ttvl.co
GitHubtotocaster
totocaster
  1. Community
  2. Plugins
  3. Bases
  4. Better Kanban Bases View

Related plugins

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Life Tracker

Capture and visualize the data that matters in your life.

Kanban Bases View

A kanban-style drag-and-drop custom view for Bases.

Kanban

Create Markdown-backed Kanban boards.

Tasks Map

A visual graph view of your tasks.

TTRPG Tools: Timeline

Timeline-Renderer für Calendarium-Frontmatter (fc-date/fc-end). 200×315 Bild, Callout-Stil, native Popover, mobilfreundlich.

Bases Charts

Bases views for scatter, line, and bar charts.

Task Board

Manage all your tasks throughout your vault from a single board and much more...

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

TaskNotes

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