Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>PengSheets - Markdown Spreadsheet EditorNew to Visual Studio Code? Get it now.
PengSheets - Markdown Spreadsheet Editor

PengSheets - Markdown Spreadsheet Editor

for You

|
47 installs
| (0) | Free
Transform Markdown tables into a powerful spreadsheet editor with Excel-like editing, multi-sheet workbooks, and real-time synchronization.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PengSheets — Markdown Spreadsheet Editor

PengSheets Logo

Transform your Markdown tables into a powerful spreadsheet experience.

Version VS Marketplace Installs Open VSX Downloads License

Highlights • Quick Start • Why PengSheets • Settings • Roadmap • Contributing


PengSheets Demo

With Formula Columns, you can reference values from other tables by key, just like VLOOKUP. Computed results are written directly to Markdown, so they're readable in any editor.

Computed Columns Demo

PengSheets transforms your Markdown tables into a rich, interactive spreadsheet view. Powered by md-spreadsheet-parser, it runs a robust Python parser directly in your editor via WebAssembly, offering superior parsing accuracy and seamless multi-sheet support.

Read in Japanese: 日本語版はこちら( README )

✨ Highlights

Feature Description
🎯 Excel-like Editing Navigate and edit Markdown tables with familiar spreadsheet controls
📑 Multi-Sheet Workbooks Organize data across multiple sheets using Markdown headers
🔢 Formula Columns Auto-calculated columns with formulas and VLOOKUP-style cross-table references
⚡ Real-time Sync Changes in the spreadsheet instantly reflect in your Markdown source
🐍 Python-Powered Parsing Robust WebAssembly-based Python parser for reliable table handling
🌍 Multilingual UI English and Japanese interface support
🎨 Native VS Code Look Seamlessly integrates with your VS Code theme
🛠️ Python & Node.js Ready Instantly load your workbooks in Python and Node.js scripts

🚀 Quick Start

  1. Install the extension from the VS Code Marketplace

  2. Open any Markdown file (.md)

  3. Launch the spreadsheet editor:

    • Click the table icon in the editor title bar (fastest!)

      Table icon in title bar

    • Or right-click a .md file in the Explorer and select Open with PengSheets

    • Or open Command Palette (Cmd+Shift+P / Ctrl+Shift+P) and run: Markdown: Open with PengSheets

  4. Edit your tables with the spreadsheet interface — changes sync automatically!

Tip: Create a new workbook with Markdown: Create New Spreadsheet File command.

🤔 Why PengSheets?

PengSheets Other Markdown Table Editors
Multi-Sheet Support ✅ Full workbook organization ❌ Single table only
Parsing Engine Python (WebAssembly) — battle-tested JavaScript — limited edge case handling
Real-time Sync ✅ Bidirectional ⚠️ Often one-way
Metadata Support ✅ Table descriptions, sheet organization ❌ None
Keyboard Shortcuts ✅ Excel-like navigation ⚠️ Limited

⚙️ Settings

PengSheets offers extensive customization to match your documentation style:

Setting Description Default
pengSheets.parsing.rootMarker Marker indicating the start of the data section null (Auto-detect)
pengSheets.parsing.sheetHeaderLevel Header level for sheet names (e.g., 2 for ##) null (Auto-detect)
pengSheets.parsing.tableHeaderLevel Header level for table names (e.g., 3 for ###) null (Auto-detect)
pengSheets.parsing.captureDescription Capture text between header and table as description true
pengSheets.parsing.columnSeparator Column separator character \|
pengSheets.parsing.headerSeparatorChar Header separator character -
pengSheets.parsing.requireOuterPipes Require outer pipes in generated tables true
pengSheets.parsing.stripWhitespace Strip whitespace from cell values true
pengSheets.language UI language (auto, en, ja) auto
pengSheets.validation.dateFormat Date format for validation cells YYYY-MM-DD

🐍 Use with Python

Files created with PengSheets can be easily read in your Python scripts using md-spreadsheet-parser. The Lookup API lets you access specific sheets and tables by name:

from md_spreadsheet_parser import parse_workbook_from_file

# Load your PengSheets workbook
workbook = parse_workbook_from_file("data.md")

# Access sheet and table by name
sheet = workbook.get_sheet("Sales Data")
table = sheet.get_table("Q1 Results")

# Use your data
print(table.headers)  # ['Year', 'Revenue']
print(table.rows)     # [['2024', '1000'], ['2025', '1500']]

Install the parser:

pip install md-spreadsheet-parser

📚 See the Cookbook for more recipes (Pandas, Excel, type-safe validation, and more).

📦 Use with Node.js

The md-spreadsheet-parser is also available as an NPM package, allowing you to parse and manipulate Markdown spreadsheets in Node.js environments with the same reliability as the Python core.

import { parseWorkbookFromFile } from 'md-spreadsheet-parser';

// Load your PengSheets workbook
const workbook = parseWorkbookFromFile("data.md");

// Access sheet and table by name
const sheet = workbook.getSheet("Sales Data");
const table = sheet.getTable("Q1 Results");

// Use your data
console.log(table.headers); // ['Year', 'Revenue']
console.log(table.rows);    // [['2024', '1000'], ['2025', '1500']]

Install the package:

npm install md-spreadsheet-parser

🗺️ Roadmap

We're actively developing PengSheets! Planned features include:

  • Performance Improvements: Optimization for handling large tables smoothly
  • Advanced Document Editing: Image insertion, list completion, and richer Markdown support for document tabs
  • Search & Replace: Functionality to find and replace text within the grid
  • Visual Enhancements: Conditional formatting for data visualization

🤝 Contributing

We welcome your feedback and ideas! If you encounter a bug or have a feature request:

  1. Check existing Issues to avoid duplicates
  2. Open a new Issue with a clear description
  3. Include steps to reproduce (for bugs) or use cases (for features)

📄 License

This project is licensed under the MIT License.


Made with ❤️ by the PengSheets team

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft