Read markdown,
nothing else.

MDViewer 2.1 is one native, secure codebase in two editions. Full is recommended; Lite keeps the minimum footprint.

7.0 MB
Full app
2.7 MB
Lite app
2.3 MB
Full DMG
1.1 MB
Lite DMG

Features

Native reading, from minimal to complete.

01

Lite and Full

Both editions come from one shared source tree and use the same app identity. Lite physically excludes all Full-only modules.

02

Fast native navigation

Show the optional read-only Folder Navigator with ⇧⌘B. Explicitly authorize a document folder or ancestor; it then lazily loads only expanded directories, reveals the current file, and refreshes only loaded directories. Hidden items, packages, and symlinks stay excluded, with limits of 12 levels, 500 children per folder, and 5,000 loaded items. Find, Quick Open, outline, secure internal links, and sibling navigation remain available.

03

Hardened shared renderer

Footnotes, alerts, task lists, local image zoom, code controls, printing, curated themes, strict CSP, DOMPurify, and confined read-only local resources.

04

Full, loaded only when needed

Full lazily imports broad highlight.js, safe YAML frontmatter, complete offline Mermaid ESM chunks, and svg-pan-zoom. Ordinary Markdown initializes none of them.

Reading themes

Eight trusted palettes.

Choose a preferred light and dark palette in Settings. Theme changes preserve the document, scroll position, and zoom. Sepia is a light palette; the System, Light, and Dark shortcuts remain unchanged.

GitHub Light
Solarized Light
Sepia
GitHub Dark
Solarized Dark
Dracula
Monokai
Nord

Need editing too?

Meet MDViewer+

Live split preview, syntax highlighting, formatting shortcuts, scroll sync, and native printing — built with the same lightweight macOS approach.

Explore MDViewer+

Editions

Full is recommended. Lite is the minimum.

Full supports complete offline Mermaid diagrams, broad syntax highlighting, and safe YAML metadata cards. Lite uses a 10,060-byte custom Prism build for Swift, JavaScript/TypeScript, JSON, Bash, Python, Rust, HTML, and CSS.

Installing either edition replaces the other because both use com.torstenmahr.MDViewer.

Security and dependencies

Offline by construction.

The sandbox grants read-only user-selected access. The render page cannot reach the network: CSP blocks networking, workers, frames, objects, forms, remote code, and eval. Internal links, local images, bundled modules, YAML, and Mermaid SVG each pass dedicated confinement and sanitization checks.

Dependencies are pinned with checksums and edition membership: marked 18.0.9, DOMPurify 3.4.12, marked-footnote 1.4.0, Prism 1.30.0 (Lite), highlight.js 11.11.1, js-yaml 5.2.3, Mermaid 11.16.0, and svg-pan-zoom 3.6.2 (Full).

Install

Build from source

# requires Xcode command line tools
brew install xcodegen
xcodegen generate
xcodebuild -scheme MDViewer-Lite -configuration Release build
xcodebuild -scheme MDViewer-Full -configuration Release build

Shortcuts

MDViewer includes native in-app help under Help > MDViewer Help. The About window shows the installed edition and version, copyright, project website, and support links.