Tables

unlisted

by aztekgold

Create and manage interactive, single-file tables with rich column types, sorting, filtering, and embeds - agent-friendly by design!

β˜… 112 starsUpdated 15d agoMIT
View on GitHub

Tables for Obsidian

Portable, single-file, feature-rich tables for Obsidian without the need for a file for every row.

Obsidian Tables fills the gap between spreadsheets and Obsidian Bases, giving you structured data without creating a Markdown file for every row. Perfect for things like book lists, project trackers, contacts, and content calendars.

Data is stored in a single JSON file, making it portable, readable, and future-proof. Open it in any text editor, export to CSV in one click, and keep everything intact even outside Obsidian.

The single-file approach also makes Tables a natural fit for agentic workflows, allowing agents to read, update, and reason over your data without traversing linked notes.

Think of it as Notion-style tables for Obsidian: more powerful than Markdown tables and more structured than free-form notes, without the overhead of a spreadsheet. Minus the formulas β€” for now. πŸ™‚

Tables Showcase

Support

If you enjoy using Obsidian Tables consider Buy me a coffee

Buy Me A Coffee

✨ Features

Multiple Column Types

  • Text - Simple text input
  • Number - Numeric values with keyboard and clipboard validation
  • Checkbox - Boolean toggle
  • Select - Single selection from predefined options with custom colours
  • Multi-select - Multiple selections from predefined options with custom colours
  • URL - Renders as a clickable external link when the value matches a URL pattern
  • Email - Renders as a mailto: link when the value matches an email address
  • Note Link - Link to other notes in your vault
  • Date - Date picker with customisable format

πŸ“Š Views & Embeds

  • Multiple Views: Create different perspectives of your data (e.g., "Active Tasks", "Completed Items") within the same table file.
  • Inline Tables: Tables render directly in Live Preview for seamless editing.
  • Linked Embeds: Embed your table in any other note using standard Obsidian embed syntax ![[MyTable.table.md]]. The embedded table is fully interactive.
  • Embed View Pinning: Use the alias slot to target a specific view β€” or create a new one automatically:
    • ![[MyTable.table.md|Sprint Board]] β€” pins the embed to the "Sprint Board" view, creating it if it doesn't exist.
    • ![[MyTable.table.md]] β€” renders the default (first) view.

🎯 Table Management

  • Add/Delete Rows & Columns - Flexible data structure management
  • Drag to Reorder Rows - Intuitive drag-and-drop row reordering
  • Drag to Reorder Columns - Rearrange columns by dragging the header
  • Resize Columns - Adjust column widths to fit your content
  • Inline Renaming - Rename tables directly in the view
  • Smart Linking - Automatic backlink updates when notes are renamed or deleted
  • Advanced Sorting - Multi-level sorting with ascending/descending order
  • Powerful Filtering - Complex filter rules with multiple conditions
  • Real-time Updates - Changes save automatically as you type

πŸ”— Graph View Integration

Tables integrate with Obsidian's graph view through note link columns:

Graph View Integration

πŸš€ Quick Start

Creating Your First Table

  1. Right-click in your file explorer or use the command palette
  2. Select "New table"
  3. Start adding columns with different data types
  4. Add rows and populate your data

πŸ“š Usage Guide

Working with Columns

Add a Column

  • Click the "+" button in the table header
  • Choose from 9 column types: Text, Number, Checkbox, Select, Multi-select, URL, Email, Note Link, or Date
  • Customise options and colours for Select and Multi-select columns

Edit a Column

  • Click the column name to rename or modify column properties
  • Delete columns when no longer needed

Managing Data

Rows

  • Add: Click "Add row" at the bottom
  • Delete: Click the trash icon on any row
  • Reorder: Drag rows using the handle on the left (enable in settings)

Filtering & Sorting

  • Filter: Build complex queries with multiple conditions (equals, contains, greater than, etc.)
  • Sort: Multi-level sorting by any column
  • Combine multiple filters for precise data views

πŸ“¦ Installation

Community Plugins (Coming Soon)

  1. Open Settings β†’ Community plugins
  2. Click "Browse" and search for "Tables"
  3. Click "Install" then "Enable"

Manual Installation

  1. Download the latest release from GitHub Releases
  2. Extract main.js, manifest.json, and styles.css to <vault>/.obsidian/plugins/tables/
  3. Reload Obsidian
  4. Enable the plugin in Settings β†’ Community plugins

πŸ’¬ Support & Feedback

Found a bug or have a feature request?

πŸ“ License

MIT License - see LICENSE file for details.

πŸ‘€ Author

Created with ❀️ by Aztekgold


⚠️ Important: This plugin stores table data within your vault files. Always back up your vault regularly!

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.