A lightweight, native Markdown viewer for Windows with live reload and syntax highlighting.
- GitHub-style rendering — tables, fenced code blocks, task lists, TOC via marked.js
- Syntax highlighting — automatic language detection via highlight.js (GitHub theme)
- Live reload — preview updates instantly when the file is saved
- Multi-tab — open multiple files in a single window
- Sidebar — collapsible drawer with list of open files and paths
- Drag & drop — drop
.mdfiles directly into the window - Find in page —
Ctrl+Fwith match highlighting and navigation - Dark mode — toggle with
Ctrl+D, preference is remembered - Print —
Ctrl+Popens the native print dialog, prints only the rendered content - Recent files — File → Recent Files submenu, remembers the last 10 opened files
- Session persistence — open tabs are restored when the app is relaunched
- Multi-language — 12 languages (EN, IT, ES, PT, FR, DE, ZH, JA, KO, RU, TR, UK), auto-detects system language, switchable at runtime via View → Language
- Full screen —
F11toggle - Zoom —
Ctrl++/Ctrl+-/Ctrl+0 - Native — single
.exe, no Electron, no browser required (uses WebView2/EdgeChromium)
| Package | Description |
|---|---|
| PrettyMark-Setup-1.0.0-win-x64.exe | Installer — Start menu, desktop shortcut, file associations, uninstaller |
| PrettyMark-portable-win-x64.zip | Portable — unzip and run, no installation needed |
- Windows 10/11
- .NET 8 SDK (only for building from source)
git clone https://gitlab.com/eagle1/prettymark.git
cd prettymark
dotnet run -- README.mddotnet publish -c Release -r win-x64 --self-contained -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=trueThe output is a single PrettyMark.exe in bin\Release\net8.0-windows\win-x64\publish\.
Requires NSIS (works on both Windows and Linux).
makensis installer.nsiThe output is bin\PrettyMark-Setup-1.0.0-win-x64.exe.
Requires Windows SDK (for makeappx.exe).
.\build-msix.ps1 -Version "1.0.0.0"
# Add -Sign to create a self-signed certificate for testing# Open a file directly
PrettyMark.exe README.md
# Launch without arguments → welcome screen → File → Open or drag & drop
PrettyMark.exe| Shortcut | Action |
|---|---|
Ctrl+O |
Open file |
Ctrl+W |
Close current tab |
Ctrl+P |
|
Ctrl+F |
Find in page |
Ctrl+D |
Toggle dark mode |
Ctrl+B |
Toggle sidebar |
F11 |
Toggle full screen |
Ctrl++ |
Zoom in |
Ctrl+- |
Zoom out |
Ctrl+0 |
Reset zoom |
PrettyMark is a WinForms application that hosts a WebView2 control (EdgeChromium). Markdown files are read by C# and passed to the embedded HTML page, which renders them client-side using marked.js and highlight.js.
- Tab management is handled in C# — each open file gets its own
FileSystemWatcherfor live reload - Drag & drop uses native Chromium drop handling, intercepted via
NewWindowRequestedto open files as tabs - Settings (dark mode, sidebar state, language, recent files, session tabs) are persisted in
%AppData%\PrettyMark\settings.json - i18n uses JSON files in
assets/lang/— C# loads the JSON and injects strings into JS viasetStrings(). Adding a language is just adding a new JSON file
The primary repository is on GitLab. Please open issues and merge requests there.
MIT