A fast, lightweight Markdown viewer for Windows. Available as a Total Commander Lister plugin and standalone executable with rich terminal output.
- WebView2 rendering - Modern HTML rendering with full Markdown support (GUI mode)
- Auto dark mode - Follows Windows appearance settings (GUI mode)
- Rich terminal output - ANSI colors, clickable hyperlinks, unicode tables (terminal mode)
- Clickable links - Click
.mdlinks to navigate, external links open in browser - ESC to close - Quick keyboard navigation
- Syntax highlighting - Code blocks with proper formatting
- GitHub Flavored Markdown - Tables, task lists, strikethrough, and more
- Download the latest release ZIP
- Open the ZIP file in Total Commander
- Total Commander will automatically detect
pluginst.infand offer to install - Select your preferred installation directory
- Configure file associations (
.md,.markdown) in TC settings
- Download
mdview.exefrom the latest release - Place it anywhere in your PATH or desired location
- Associate
.mdfiles withmdview.exeor run from command line
The standalone mdview.exe automatically detects its environment:
- From terminal (cmd.exe, PowerShell, Windows Terminal): Renders markdown with ANSI formatting
- Double-clicked or no console: Opens GUI window with WebView2
Full support for modern terminal features including clickable hyperlinks (OSC 8), true color, and unicode box drawing for tables.
ANSI escape processing is automatically enabled for color support in legacy consoles.
mdview [OPTIONS] [FILE]
Arguments:
[FILE] Markdown file to view (reads from stdin if not provided)
Options:
--gui Force GUI window mode
--term Force terminal output mode
--html Output full HTML document to stdout
--body Output HTML body only (no wrapper)
--text Output plain text (no formatting)
--register Register as .md file viewer (Open With)
--unregister Remove .md file viewer registration
-h, --help Show help message
# Auto-detect: terminal output when run from console
mdview README.md
# Pipe content from another command
cat notes.md | mdview
# Force GUI window
mdview --gui README.md
# Output HTML for further processing
mdview --html README.md > output.htmlMDView can register itself as a handler for .md and .markdown files:
- First launch (GUI mode): MDView will offer to register as a viewer. Choose "Yes" to register and open Windows Settings where you can set it as the default. Choose "No" to be asked again next time, or "Cancel" to suppress the prompt permanently.
- Command line: Use
mdview --registerto register andmdview --unregisterto remove the registration. Registration adds MDView to the "Open With" list; you then confirm the default in Windows Settings.
# Register as .md viewer and open Windows Settings
mdview --register
# Remove registration
mdview --unregister| Feature | Windows Terminal | Legacy cmd.exe |
|---|---|---|
| ANSI colors | Yes | Yes |
| Bold/Italic | Yes | Yes |
| Clickable hyperlinks | Yes | No (text only) |
| Unicode tables | Yes | Yes |
| True color (24-bit) | Yes | Limited |
| Key | Action |
|---|---|
| ESC | Close viewer |
| Ctrl+O | Open file |
| Click link | Navigate .md files in viewer, open external URLs in browser |
| Ctrl+Click | Always open link in browser |
| Menu | Item | Action |
|---|---|---|
| File | Open | Open a Markdown file |
| File | Register as .md Viewer... | Add MDView to the Open With list |
| File | Unregister as .md Viewer | Remove MDView from Open With |
| Help | About MDView | Version and license info |
- Rust 1.75 or later
- Windows 10/11 with WebView2 Runtime
# Build release version (x64)
cargo build --release
# Build x86 version (for 32-bit Total Commander)
cargo build --release --target i686-pc-windows-msvc
# Run tests
cargo testAfter building, copy the following files for distribution:
| File | Description |
|---|---|
target/release/mdview.exe |
Standalone viewer (x64) |
target/release/mdview_wlx.dll |
Rename to mdview.wlx64 for TC plugin (x64) |
target/i686-pc-windows-msvc/release/mdview_wlx.dll |
Rename to mdview.wlx for TC plugin (x86) |
If the plugin hangs or doesn't work correctly, enable debug logging:
- Set environment variable:
set MDVIEW_DEBUG=1 - Start Total Commander from that command prompt
- Try to view a markdown file
- Check log file:
%TEMP%\mdview_debug.log
The log shows WebView2 initialization steps and helps identify where issues occur.
| Issue | Solution |
|---|---|
| Plugin hangs | WebView2 has a 30-second timeout; check debug log |
| Blank display | Ensure WebView2 Runtime is installed |
| F3 opens WebView search | Update to latest version (F3 now passed to TC) |
- Windows 10 version 1803 or later
- WebView2 Runtime (usually pre-installed on Windows 10/11)
This project is licensed under the Mozilla Public License 2.0 - see the LICENSE file for details.
Remko Weijnen
- pulldown-cmark - Markdown parsing
- webview2-com - WebView2 bindings for Rust


