CSV Database

pending

by jysperm

Interactive database view backed by CSV files, with rich column types, multiple views, sort & filter.

21 starsUpdated 1mo agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

Obsidian CSV Database

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
Database view with multiple column types

Multiple views with sort and filter
Multiple views with sort and filter

Inline editing with multi-select dropdown
Inline editing with multi-select dropdown

Board layout with drag-and-drop
Board layout with drag-and-drop

Features

  • Rich column types: text, number, date, checkbox, select, multi-select, and note (links to vault notes)
  • Inline editing: click any cell to edit its value directly
  • 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
  • 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

Installation

This plugin has not yet been approved in the Obsidian community plugin directory (review in progress).
  1. Open SettingsCommunity PluginsBrowse
  2. Search for CSV Database
  3. Click Install, then Enable

You need to install it via BRAT:

  1. Install the BRAT plugin from SettingsCommunity PluginsBrowse
  2. Open BRAT settings, click Add Beta Plugin
  3. Enter jysperm/obsidian-csv-database and click Add Plugin
  4. Enable CSV Database in SettingsCommunity Plugins

Usage

  1. Use the command palette (Ctrl/Cmd + P) and run Create new database to create a .csvdb file
  2. Add columns using the + button in the header row
  3. 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.

Development

npm ci
npm run dev    # watch mode
npm run build  # production build

To 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-database

License

The 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.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.