Markdown Preview Sublime Text: Setup Guide (2026)

September 11, 2026 · 9 min read

Markdown Preview Sublime Text Setup: Packages and Editing Guide

To get a markdown preview Sublime Text needs a package, because the editor ships with syntax highlighting only. Install MarkdownPreview for a browser preview, MarkdownLivePreview for a rough in-app pane, and MarkdownEditing for writing ergonomics. This guide covers Sublime Text 4 (build 4200), the settings JSON for each, and where each one falls short.

Can I Preview Markdown in Sublime Text?

Yes, but not out of the box. A fresh Sublime Text 4 install highlights .md files and nothing more. There's no split preview like the one in VS Code, so every preview markdown Sublime workflow runs through Package Control.

Three packages cover the job. They don't compete so much as split it.

PackageWhat it doesWhere the preview appearsMaintenance (as of Sept 2026)
MarkdownPreviewConverts Markdown to HTML with Python Markdown, the GitHub API, or the GitLab APIYour default browser, a new tab, or a saved fileRelease st4-3.2.0, March 2026 (a separate st3 line exists)
MarkdownLivePreviewRenders a preview pane inside Sublime as you typeA second view inside the editor windowLast release v3.0.0, November 2019
MarkdownEditingSyntax definitions, color schemes, list and heading keybindingsNo preview; it improves the editing sideRelease 4200-3.6.3, June 2026

We prefer MarkdownPreview plus MarkdownEditing together. One gives you an accurate render, the other makes typing lists and headings pleasant. MarkdownLivePreview is worth a try if you want something on screen while you type, as long as you know its limits.

Install Package Control First

Package Control is the package manager every markdown viewer Sublime option installs through. On Sublime Text 4, open the Command Palette with Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (Mac), type Install Package Control, and press Enter. The same entry sits in the Tools menu. The Package Control installation page documents a manual fallback for locked-down networks.

Once it's in, installing any package is the same three steps:

  1. Open the Command Palette.
  2. Type Package Control: Install Package and press Enter.
  3. Type the package name (MarkdownPreview, MarkdownLivePreview, or MarkdownEditing) and press Enter.

Restart isn't required. The package is active as soon as the status bar says it's installed.

A note on versions. MarkdownPreview ships two release lines, st4-3.x for Sublime Text 4 and st3-2.x for Sublime Text 3, and Package Control picks the right one. MarkdownLivePreview still describes itself as a Sublime Text 3 plugin, but it installs and runs on Sublime Text 4 because the Python 3.3 plugin host is still available there. MarkdownEditing tags its builds for 4200, the current Sublime Text 4 build, so it's the safest bet if your install is up to date.

How to Preview Markdown Text With MarkdownPreview

MarkdownPreview is the package the Sublime forum threads mean when they say "markdown preview Sublime". It doesn't draw anything inside the editor. It converts your file to HTML and hands it to a browser, which is exactly why its output looks right.

After installing, open a Markdown file and run one of these Command Palette entries. The names come from the package's command file.

  • Markdown Preview: Preview in Browser
  • Markdown Preview: Export HTML in Sublime Text
  • Markdown Preview: Save to HTML
  • Markdown Preview: Copy to Clipboard

Each one asks which parser to use, then opens the result. The Save to HTML entry is the closest thing to our Markdown to HTML converter, minus the live preview. Ctrl+B (or Cmd+B on Mac) also works: the package registers a build system for the text.html.markdown scope, and the default build_action writes an HTML file next to your source.

Choosing a parser: markdown, github, or gitlab

The MarkdownPreview usage docs list three built-in parsers. Pick one in Preferences > Package Settings > Markdown Preview > Settings:

{
    "parser": "github",
    "enabled_parsers": ["markdown", "github", "gitlab"],
    "github_mode": "gfm"
}
  • markdown runs Python Markdown locally. It's the default, works offline, and handles tables, footnotes, and fenced code through extensions.
  • github sends your text over HTTPS to GitHub's Markdown API and returns the same HTML you'd see in a README. It needs an internet connection. Set github_mode to gfm for comment-style rendering or leave it on markdown for document mode.
  • gitlab does the same through GitLab's API. Set gitlab_mode the same way.

Unauthenticated GitHub API calls are rate limited. If you preview often, add a personal access token with no extra scopes:

{
    "github_oauth_token": "ghp_yourtoken"
}

The matching key for GitLab is gitlab_personal_token. Keep both out of any settings file you commit.

Bind a key to the preview

MarkdownPreview ships no default shortcut beyond the build key. Add one in Preferences > Key Bindings:

[
    {
        "keys": ["alt+m"],
        "command": "markdown_preview",
        "args": { "target": "browser", "parser": "github" }
    }
]

Swap "parser": "github" for "markdown" to stay offline, or use the markdown_preview_select command instead to get the parser picker every time.

Custom CSS and JavaScript

The css and js settings each take a list per parser. "default" loads the bundled stylesheet that mimics GitHub or GitLab, and you can append an absolute path or URL:

{
    "css": {
        "github": ["default", "/Users/you/preview-overrides.css"]
    }
}

This is where Mermaid comes up. Neither parser draws diagrams; a mermaid fence comes back as a plain code block. You can point js at the Mermaid script, but in our experience it's easier to paste the file into the editor, which renders Mermaid diagrams and GFM tables without any configuration.

MarkdownLivePreview for an In-App Pane

If "sublime markdown preview side by side" is what you searched for, MarkdownLivePreview is the only package that attempts it. Run MarkdownLivePreview: Open Preview from the Command Palette and Sublime opens a second view that updates as you type. To bind it:

{
    "keys": ["alt+m"],
    "command": "open_markdown_preview"
}

Here's the honest part. The pane is drawn with minihtml, Sublime's tiny built-in HTML renderer, and Sublime's minihtml docs describe it as a limited subset of HTML and CSS. The package README states that numbered lists render as bullets because minihtml has no ordered-list support. Tables, syntax-highlighted code, and images sized by CSS don't survive either.

The project also hasn't shipped a release since v3.0.0 in November 2019, and its description still says Sublime Text 3. It still installs on Sublime Text 4 through Package Control, but treat it as a rough outline of your document rather than a faithful render. That's the limitation of any in-editor Sublime approach: the fidelity ceiling is minihtml, not the package.

MarkdownEditing for the Writing Side

MarkdownEditing doesn't preview anything, yet it's the package we'd install first. It replaces the stock syntax definitions with separate grammars for standard Markdown, GitHub Flavored Markdown, and MultiMarkdown, and adds writing-focused color schemes.

The editing features are what you notice day to day:

  • Press Enter at the end of a list item and the next bullet appears. Tab indents it and cycles the bullet character.
  • Alt+X toggles a - [ ] task checkbox.
  • Headings show up in Goto Symbol (Cmd+R or Ctrl+R), so you can jump around a long document.
  • Typing *, _, or a backtick around a selection wraps it instead of replacing it.
  • Fold by heading level to collapse sections you're not working on.

The GFM grammar means fenced code, tables, and strikethrough highlight correctly, which matters if you're writing for GitHub. Our GitHub Markdown cheat sheet lists the syntax that grammar expects.

Try the Same Document in a Live Preview

Here's a short file that exercises the features the in-app pane struggles with: a table, a task list, and a numbered list. Paste it into MarkdownLivePreview to see the gaps, then compare with the render below.

Release checklist

Package Preview target Offline
MarkdownPreview Browser Yes (markdown parser)
MarkdownLivePreview In-editor pane Yes
MarkdownEditing None Yes
  1. Install Package Control
  2. Install MarkdownPreview
  3. Bind alt+m to markdown_preview
  • Parser set to github
  • Token added for higher rate limits
  • Custom CSS path tested
70 words394 characters15 lines
Markdown

Common Sublime Markdown Preview Mistakes

Expecting the GitHub parser to work offline. The github and gitlab parsers post your file to a remote API. On a plane, switch parser back to markdown or the command fails with a network error.

Editing the default settings file. Changes to the package's own MarkdownPreview.sublime-settings are overwritten on update. Put overrides in the user settings file that opens from the right-hand pane of the settings menu.

Judging rendering by the in-app pane. If a table looks broken in MarkdownLivePreview, that's minihtml, not your syntax. Check the same text in the browser preview or the online editor before you rewrite it.

Sublime Text Markdown Preview FAQ

A working markdown preview Sublime Text setup comes down to two packages: MarkdownPreview for the render and MarkdownEditing for the typing. Keep MarkdownLivePreview as an optional glance, not a source of truth. When you need to see tables, Mermaid, and GFM exactly as GitHub shows them, paste the file into the editor for a side-by-side view. Still deciding on an editor? Our best Markdown editors roundup compares Sublime with the alternatives.