An Obsidian plugin that provides an interactive database view backed by CSV files, supporting multiple column types, inline editing, and more.

Database view with multiple column types

Multiple views with sort and filter

Inline editing with multi-select dropdown

Board layout with drag-and-drop
- Rich column types: text, number, date, checkbox, select, multi-select, note, title, and relation
- Inline editing: click any cell to edit its value directly
- Manual row ordering: drag rows to adjust their order
- Column management: rename, change type, configure options, resize, reorder, and delete columns
- Wrap content: per-column toggle to wrap cell content to multiple lines
- Select & multi-select: color-coded tags with a dropdown picker
- Title & relation: give each row a unique title and reference rows from other databases
- Multiple views: create named views, each with its own sort, filter, and column visibility settings
- Board layout: kanban-style board view grouped by a select column, with drag-and-drop between columns
- Sort & filter: sort by multiple columns, filter with contains / does not contain / is empty / is not empty operators
- Auto-save: all changes are saved back to the CSV file immediately
This plugin has not yet been approved in the Obsidian community plugin directory (review in progress).
- Open Settings → Community Plugins → Browse
- Search for CSV Database
- Click Install, then Enable
You need to install it via BRAT:
- Install the BRAT plugin from Settings → Community Plugins → Browse
- Open BRAT settings, click Add Beta Plugin
- Enter
jysperm/obsidian-csv-databaseand click Add Plugin - Enable CSV Database in Settings → Community Plugins
- Use the command palette (
Ctrl/Cmd + P) and run Create new database to create a.csvdbfile - Add columns using the + button in the header row
- Add rows using the + New button at the bottom
The .csvdb file is a standard CSV file with column metadata encoded in the header row. It remains human-readable and can be opened with any text editor or spreadsheet application.
npm ci
npm run dev # watch mode
npm run build # production buildTo test locally, create a symlink from your vault's plugin directory to the project root:
ln -s /path/to/obsidian-csv-database /path/to/vault/.obsidian/plugins/csv-databaseThe majority of this code was written by Claude Code (Opus), but all code has been thoroughly reviewed and tested by a human. I don't really care about licensing, but Obsidian's "Submission requirements for plugins" requires me to pick one, so: MIT.