vmsimab552 downloadsCreate and edit enhanced tables with merged cells, in-cell line breaks, Excel-style formulas, checkable tasks, images, math, charts, diagonal split headers, and export to Markdown or HTML.
English | 中文
Enhanced editable tables for Obsidian. Create tables inside a ```vtable code block, edit cells directly in Live Preview, and go far beyond what native Markdown tables can do: in-cell line breaks, merged cells, Excel-style formulas, and even checkable task lists that native tables can't hold — plus images, math, charts, and one-click export.
Built to be beautiful out of the box: a clean, minimal design with theme-aware colors, and highly customizable — per-table line styles, zebra striping, header colors, cell alignment and background colors, all adjustable to match your vault.
Works on desktop, iPad, and mobile.
Anything you type in a cell renders on blur, exactly like Obsidian preview:
**bold**, *italic*, ==highlight==, ~~strikethrough~~, `code`, [links](url)![[image.png]] and ![[image.png|300]] — grab an image's corner handle while editing to resize it; the width syntax updates automatically$E=mc^2$- [ ] / - [x] — click the checkbox in preview mode and the source updates+ bar appears at the table's bottom/right edge — click it to add a row/columnCtrl/Cmd+Shift + click to start a selection, drag for a rubber-band rangeShift+click adds it to the selectionCtrl/Cmd+Delete deletes the rows/columns of a full-row or full-column selectionCopy a rectangular region as a Markdown table, and paste any Markdown table back into the grid — across tables, notes, and even other apps:
Ctrl/Cmd+C copies the region as a standard Markdown table (| a | b | with a separator row)Ctrl/Cmd+V a Markdown table: it is written into the grid with the clicked cell as the top-left corner. Existing content is overwritten; anything beyond the current rows/columns is dropped (no rows or columns are added)Ctrl/Cmd+Alt+V pastes the same way but extends the table with whole rows/columns to fit the clipboard contentSelect a cell, grab the small triangle that appears at its bottom-right corner, and drag along a row or column:
Item 1, Item 2, …)星期一… / Monday…), months (一月… / January…) repeat in loops; dates like 1月1日 advance by the real calendar (leap years respected)The Diagonal split cell command draws a top-left → bottom-right diagonal in the focused (or selected) cell and splits it into two single-line input areas — upper-right and lower-left. If a cell already contains text, it moves to the lower-left area. Press Enter or arrow keys to jump between the two areas and out of the cell.
Beyond the corner radius and header background, each table can take one of three line-style presets, plus zebra stripes:
Presets apply to the whole vault via Settings, or per table with the Table style call, Remove table styles, and Zebra stripe style commands (per-table overrides are stored with the table). Styles are display-only: cells return to their raw look while you are editing them.
Switch anytime from the mode buttons above the table; the choice is stored per table.
Start a cell with =FUNC(range) and it shows the computed result; focus the cell again to edit the original formula. Supported functions:
=SUM(A1:A5) =AVERAGE(B1:B3) =COUNT(C1:C9) =MIN(A1:A9) =MAX(A1:A9)
Turn table data into SVG charts that follow dark/light themes:
vbarchart bar charts, vpie pie charts, vline line chartsTables live inside a ```vtable code block and serialize to JSON, so everything survives round-trips:
rs/cs (row/column span) and optional alignment and background color<br>=SUM(A1:B2)) and evaluate at render time| Key | Action |
|---|---|
Tab / Shift+Tab |
Next / previous cell |
↑ ↓ ← → |
Move between cells (symmetric landing points) |
Cmd+Delete |
Delete the current row (macOS) |
Ctrl/Cmd+Delete |
Delete rows/columns of a full selection |
Ctrl/Cmd+C |
Copy the active selection as a Markdown table |
Ctrl/Cmd+V |
Paste a Markdown table into the grid (top-left = focused cell) |
Ctrl/Cmd+Alt+V |
Paste a Markdown table and extend rows/columns as needed |
All commands can be bound to custom hotkeys in Obsidian settings, including create, conversions, chart generation, styling, diagonal split, and mode switching.
A two-row toolbar appears next to the focused cell: bold, italic, font size, merge/split, add/delete rows and columns, and one-click export. It can be enabled separately for desktop and mobile.
Quick access to insert/delete rows and columns, merge and split cells, copy / paste / cut / delete, and mode switching.
The context menu is fully customizable in Settings → vtable → 右键菜单自定义 (Context menu customization):
--- inserts a separator line; cmd:commandId inserts any Obsidian command; append |iconName (a Lucide icon name) to override an item's icon.vt.copy, vt.paste, vt.cut, vt.delete, vt.clearContent, vt.bold, vt.italic, vt.alignL, vt.alignC, vt.alignR, vt.alignT, vt.alignM, vt.alignB, vt.pickColor, vt.insRowAbove, vt.insRowBelow, vt.delRow, vt.insColLeft, vt.insColRight, vt.delCol, vt.mergeRight, vt.mergeDown, vt.split, vt.modeOL, vt.modeHS, vt.modeRC.Ctrl/Cmd+P), or convert an existing Markdown/HTML table with Convert to vtableOpen Settings → Community plugins → Browse in Obsidian, search for Vtable, and install. Updates are delivered automatically through Obsidian.
https://github.com/Ming145/Vtablemain.js, styles.css, and manifest.json from the latest Release.obsidian/plugins/vtable/ in your vaultgit clone https://github.com/Ming145/Vtable
cd Vtable
npm install
npm run build
Then copy main.js, styles.css, and manifest.json into .obsidian/plugins/vtable/.
Want an AI assistant (Claude, ChatGPT, …) to write Vtable source code for you? A ready-made skill covering the full source syntax — JSON schema, merged cells, line breaks, formulas, styles, charts and more, all with copy-paste examples — is available at vtable-syntax.