Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Simple-MarkNew to Visual Studio Code? Get it now.
Simple-Mark

Simple-Mark

Simple-Mark

| (0) | Free
Edit Markdown with its formatting shown and none of its syntax hidden.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Simple-Mark for VS Code

Edit Markdown with its formatting shown — and none of its syntax hidden.

# Heading stays # Heading: the # is dimmed and the heading is large. **bold** keeps its **. Markdown stays editable text, and an unedited document keeps its original line endings. Table navigation can reformat table spacing as described below.

Installation

Requires VS Code 1.100.0 or newer.

From the Marketplace

Open Extensions in VS Code and search for @id:Simple-Mark.simple-mark, or visit the Simple-Mark Marketplace listing. Select Install, then open a Markdown file.

From a VSIX file

If you have a simple-mark-<version>.vsix file, open the Command Palette, run Extensions: Install from VSIX…, and select it. To build a VSIX yourself, see Building from source.

Features

  • Headings, emphasis, code, quotes, lists and links styled in place, markers dimmed.
  • Tab indents as in VS Code's text editor, by your editor.tabSize and editor.insertSpaces for Markdown; Shift+Tab outdents. Ctrl+M switches Tab to moving the focus.
  • Tables: Tab / Shift-Tab move between cells, Enter adds a row; each re-aligns the table. Korean and other wide characters line up.
  • Math: $inline$ shows a rendered tooltip, $$ blocks render below their source (MathJax). The TeX is colored: commands, brackets in your bracket pair colors, an unmatched brace in red.
  • Code blocks are colored by their language, as in VS Code's Markdown preview (highlight.js, 190+ languages).
  • Images preview below their line; paths are relative to the document (see Links for paths starting with /).
  • Links: Ctrl+Click (⌘+Click on macOS) opens a link: web pages in your browser (VS Code asks first), #heading links jump within the document, and paths open in VS Code — images in its image viewer, Markdown files in Simple-Mark. Paths are relative to the document. A path starting with / is an absolute path on disk, or else relative to the workspace folder (as in VS Code's own Markdown preview); images are found the same way. Click an image preview to open the image.
  • Follows your color theme, styled like VS Code's Markdown preview. Saving, undo/redo and git work as with any text editor.

Usage

Simple-Mark is the default editor for .md and .markdown files: open one and it opens in Simple-Mark.

  • Open as Text in the editor title bar (or Reopen Editor With… → Text Editor) shows the plain text.
  • Open with Simple-Mark in the title bar or the Explorer context menu switches back.

To keep the plain text editor as your default instead, add to your settings:

{
  "workbench.editorAssociations": {
    "*.md": "default",
    "*.markdown": "default"
  }
}

Korean, Chinese and Japanese text in tables

Tables are padded counting each Korean, Chinese or Japanese character as two columns (Unicode East Asian Width, the same rule Prettier uses), so the saved text is aligned. Simple-Mark draws these characters exactly two columns wide, so its tables line up with any font.

VS Code's plain text editor relies on its font instead. Unless the font draws these characters exactly twice as wide as Latin letters, pipes after such text land too far left there. To see tables aligned in the text editor too, use such a font, for example D2Coding (Ubuntu: sudo apt install fonts-naver-d2coding):

"editor.fontFamily": "'D2Coding', monospace"

This setting applies to every file. Noto Sans Mono CJK KR comes close but not exactly: its Hangul is 1.84 columns wide, so a row with about six Korean characters ends one column short.

Warning: Quit and restart VS Code completely after installing a font. VS Code runs on Chromium, which reads the list of installed fonts when it starts; "Reload Window" may not be enough. Until then, VS Code silently falls back to another font and the setting seems to have no effect.

Notes

  • Images load from the document's folder, the workspace and https: URLs only.
  • Math supports common TeX packages; commands that create links or HTML (\href, \style) are not available.

Source and feedback

The extension is maintained in the Simple-Mark repository, alongside the editor libraries it uses. Its source is in packages/vscode.

Report a bug or request a feature. For bugs, include your VS Code version, operating system, and a small Markdown example that reproduces the issue.

Building from source

Use Node.js 24 or newer and npm. Clone the full repository so the extension can use the shared workspace packages and build scripts:

git clone https://github.com/one-prime/simple-mark.git
cd simple-mark
npm ci
npm run package -w packages/vscode

The package command builds the extension and writes packages/vscode/simple-mark-<version>.vsix. Install it using Extensions: Install from VSIX… in VS Code.

From the repository root, run type checks and tests with:

npm run typecheck
npm test

For the webview smoke check, first build the extension with npm run build -w packages/vscode, then run npm run smoke -w packages/vscode. The smoke check requires Chromium in Playwright's cache or a CHROMIUM_PATH environment variable pointing to a Chromium executable.

License

MIT. The extension includes CodeMirror, Lezer, MathJax (with its font) and highlight.js, each under its own license; THIRD_PARTY_NOTICES.txt in the extension has their full license texts, along with credits for the styles of VS Code's Markdown preview it follows.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft