Every serious editor can open a Markdown file. Far fewer can show you what it will look like once rendered, and fewer still will draw a Mermaid diagram. That gap matters because the documents engineers actually write — architecture overviews, runbooks, specifications drafted by an AI assistant — are mostly diagrams, tables, and math wrapped in a little prose.
This is what preview looks like across the major editors, and what to do when the editor stops at fenced code.
| Editor | Markdown preview | Mermaid diagrams |
|---|---|---|
| JetBrains IDEs (IntelliJ IDEA, PhpStorm, WebStorm, PyCharm) | Built into the bundled Markdown plugin | Supported through the plugin's diagram extension, which has to be enabled |
| Sublime Text | Via a package; typically renders to a browser tab | Not by default — needs additional tooling |
| Neovim | Via a plugin; usually opens a live browser preview | Depends entirely on the plugin |
| Emacs | markdown-mode for editing, preview through an external renderer |
Needs extra packages |
| Eclipse | Available through a Markdown editor plugin | Rare |
| VS Code / Cursor | Built in | Built in for Mermaid in recent versions |
The pattern is consistent: prose and tables are handled almost everywhere, and diagrams are the dividing line.
IntelliJ IDEA, PhpStorm, WebStorm, and PyCharm share the same bundled Markdown plugin, so preview behaves identically across them. Opening a .md file gives a split view with the source on one side and the rendered result on the other, and the editor's own theme applies to the preview.
Mermaid is handled by an extension belonging to that plugin rather than being on by default. If diagrams appear as plain fenced code, the setting to look for is in the Markdown plugin's configuration, where the diagram extension can be enabled. After enabling it, the IDE usually needs a restart before existing files re-render.
Sublime has no built-in Markdown preview. The common approach is a package that converts the buffer and opens the result in a browser, which is quick for prose and tables. Mermaid is generally not part of that pipeline — the diagram stays a code block, because the conversion step has no diagram renderer attached.
Preview in Neovim almost always means a plugin that starts a small local server and opens a browser tab that live-updates as you type. That makes the browser, not the editor, the thing doing the rendering, which is why Mermaid support varies so widely between plugins: it depends on whether the plugin's page loads a diagram library.
For reading rather than writing, rendering Markdown directly in the terminal is often the faster path. Viewing Markdown in the terminal covers those tools, with the caveat that a text terminal cannot draw a diagram at all.
markdown-mode gives Emacs solid Markdown editing — syntax highlighting, structure navigation, and commands to export the buffer. Preview means handing the file to an external renderer and viewing the output, typically in a browser. Diagrams require additional packages, and the setup is more involved than in editors with a bundled preview.
Eclipse handles Markdown through an editor plugin that provides a preview pane. Support is oriented toward documentation inside a Java project; Mermaid rendering is uncommon and generally not part of the default install.
Two failures dominate. The first is an editor that never had a diagram renderer, so the block is displayed as source. The second is subtler: the editor bundles an older Mermaid version than the one the diagram was written against, so newer syntax — xychart-beta, or a recent flowchart feature — throws a parse error in one tool while rendering correctly in another. Why Mermaid charts fail across different versions goes into which syntax changed when.
Size is the third problem, and it affects even editors that render correctly. A system context diagram with thirty nodes is drawn accurately and is still unreadable in a narrow preview pane with no way to zoom.
A preview pane is built for the person writing the file. It is not built for reviewing a dense document, and it is not something you can send to anyone.
Opening the same file in a browser-based renderer sidesteps the whole compatibility question. mdview.io renders Markdown consistently regardless of which editor produced it — GFM tables, syntax-highlighted code, LaTeX math through KaTeX, and Mermaid with zoom, pan, fullscreen, and SVG or PNG export for diagrams too large to read inline. Publishing produces a share link, so a reviewer sees the rendered document rather than being told which plugin to install.
For malformed diagrams — a frequent outcome when the Markdown came from a language model — Fix MD repairs broken Mermaid, mangled tables, and bad math delimiters instead of failing to draw them.
Open the .md file; the bundled Markdown plugin shows a split source-and-preview view. If the preview is missing, confirm the Markdown plugin is enabled in the IDE's plugin settings.
The preview has no diagram renderer attached, or the diagram extension is disabled. In JetBrains IDEs it is a setting on the Markdown plugin; in Sublime, Neovim, and Emacs it depends on the specific package in use.
No. Preview comes from a package, and it usually renders into a browser rather than inside the editor.
VS Code and Cursor have the most reliable built-in support — see previewing Mermaid diagrams in VS Code and previewing Markdown and Mermaid in Cursor. For large diagrams, a browser renderer with zoom and pan is easier to read than any inline pane.
Yes. Open the file in a browser-based renderer, which avoids per-editor plugins entirely and behaves the same on every machine.
Editor previews are worth configuring for the file you are actively writing. They are a poor basis for agreeing on a document, because no two of them render the same input identically — and the differences land precisely on diagrams, math, and wide tables, which is where technical documents carry their meaning.
mdview.io gives every editor the same output: open the file, read the diagrams at a legible size, and publish a link when the document is ready for someone else.