Table Column Resizer

by wzh
5
4
3
2
1
Score: 30/100

Description

Reviews

No reviews yet.

Stats

14
stars
1
downloads
0
forks
1
days
1
days
1
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
5
total issues
5
open issues
0
closed issues
11
commits

Latest Version

a day ago

Changelog

What's new in 1.0.3

Added

  • Declarative settings — plugin settings now appear in Obsidian's built-in settings search on 1.13.0+; the classic settings UI remains for older versions
  • README: comparison table with other table plugins (Better Tables, Advanced Tables)

Changed

  • Attested builds — release assets are now built by GitHub Actions with artifact attestations, so anyone can cryptographically verify they were built from this repository's source
  • Resize handle created with Obsidian's createEl helper; drag persistence write explicitly marked as fire-and-forget

Upgrade

The plugin updates automatically from within Obsidian. Manual install: download main.js, manifest.json, styles.css and copy them into .obsidian/plugins/table-column-resizer/.

README file from

Github

Table Column Resizer for Obsidian

An Obsidian plugin that lets you resize Markdown table columns by dragging their edges — no code blocks, no migration. Your notes stay plain Markdown.

Author: bubble

Why this plugin

Your notes stay standard Markdown pipe tables. Nothing is embedded in your notes — no table code blocks, no hidden markup in the file, no lock-in. Disable the plugin any time and your tables are still perfectly valid Markdown, everywhere.

Table Column Resizer Better Tables Advanced Tables
Works on standard Markdown tables ✅ ❌ requires a table code block ✅
Drag to resize columns ✅ ✅ ❌
Widths persist across restarts ✅ ✅ —
Notes stay portable plain Markdown ✅ widths stored in a hidden comment inside a code block ✅

Advanced Tables is a great complement: it focuses on table editing and navigation, while this plugin handles visual column widths.

Features

  • Drag to resize: grab a column edge in the header row and drag
  • Persistent: widths are saved per table and restored across restarts
  • Reading view: works in reading view (Live Preview support is planned)
  • Customizable limits: set any minimum and maximum column width
  • Theme friendly: styles are scoped to the resize handle and don't fight your theme

Installation

Install from Obsidian: Settings → Community plugins → Browse, search for "Table Column Resizer".

Or manually:

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Copy them into your vault: .obsidian/plugins/table-column-resizer/
  3. Enable the plugin in Settings → Community plugins

Development

git clone https://github.com/bubble-wu/obsidian-table-column-resizer.git
cd obsidian-table-column-resizer
npm install
npm run build   # outputs main.js

Usage

  1. Add a Markdown table to a note:

    | Name | Age | City | Description |
    |------|-----|------|-------------|
    | John | 25  | NYC  | Software developer |
    | Jane | 30  | LA   | Product manager |
    
  2. Switch to reading view (Cmd/Ctrl + E)

  3. Hover a header cell — a vertical handle appears on its right edge. Drag it to resize the column.

  4. Widths are saved when you release the mouse, and restored the next time the table is rendered.

Settings

Setting Default Description
Enable column resizing on Toggle resizing without disabling the plugin
Minimum column width 50px Smallest allowed column width
Maximum column width 500px Largest allowed column width

Widths are keyed by note path + table content: they survive restarts and edits elsewhere in the note, and reset if the table's content changes.

Known limitations

  • Reading view only — Live Preview is not supported yet (planned)
  • Mouse-driven; touch dragging is not supported
  • Two byte-identical tables in the same note share their saved widths

License

MIT — see LICENSE.