m d z.
A markdown viewer. v0.1 preview · macOS · MIT · free
mdz reads markdown. That is the whole product. Point it at a folder of .md files, click around. Wikilinks resolve. Math renders. Code highlights. The filesystem watcher keeps the page in sync while you edit elsewhere. Five built-in themes. Native window chrome. One binary, no install.
It is not an editor. It does not sync. It does not have AI. It opens markdown and gets out of the way.
Why it exists
Most note tools want to be a platform. They sync, they collaborate, they have a Discord, they sell a subscription. mdz wants to render your markdown. The whole binary is 7.7 MB; the .dmg is 4.8 MB. There is no telemetry. There is no account. The "settings" are a five-line config file. Open the folder, read the notes.
Software, like dim sum, should be ordered in small portions and not by the menu price.
— a friend
The numbers
Measured on Apple Silicon via perf-baseline.json in the repo. Cold-start and end-to-end render numbers (real-app first-paint via WebDriver) are tracked but not yet on macOS — tauri-driver doesn't support macOS upstream yet.
What's in the box
Reading view, not editor
Open the folder, click a file, read. Edit in your editor of choice; mdz watches the disk and re-renders.
Wikilinks, native
Type [[Page]] in your notes; mdz resolves it. Brackets stay visible, on purpose. Cached lowercased-stem index — batched IPC; under 1 µs per resolve at 10k files.
Split view + ⌘P
Open two notes side by side. Fuzzy file picker for the rest. Keyboard-first, mouse-optional.
Five themes
Light, Dark, Sepia, High-Contrast, Solarized. No "auto-tinted gradient mode." No telemetry-fed dynamic theming. Just five.
Math, Mermaid, code
KaTeX for math. Mermaid for diagrams. highlight.js for code. Lazy-loaded only when a doc needs them. Nothing hits the network.
FTS5 search
SQLite full-text search across the whole vault. Indexed on first open, incrementally on watch. Plain-text queries; ~5 ms across 10k docs.
Themes
Install
macOS · Apple Silicon
# one-liner: download the latest .dmg, mount it, copy mdz.app to /Applications
curl -fsSL https://mdz.sh/install | sh
# or: download manually
# https://github.com/CharlesWong/mdz/releases/latest
The 0.1 preview is unsigned. The first time you launch, macOS Gatekeeper will block it: right-click the app → Open instead of double-clicking, then confirm. Or in System Settings → Privacy & Security, click "Open Anyway" after the first attempt. Notarization is on the roadmap.
Linux · Windows
Build from source for now (the Rust crate compiles on both via cargo tauri build). Pre-built artifacts are planned but not in 0.1 — see the roadmap.
From source
git clone https://github.com/CharlesWong/mdz
cd mdz && cargo tauri build
open target/release/bundle/macos/mdz.app
Configuration
Optional. Lives at ~/Library/Application Support/sh.mdz.mdz/settings.toml on macOS. The defaults are good. The whole file:
theme = "light" # light | dark | sepia | high-contrast | solarized
sidebar = true # toggle with ⌘B
wide = false # toggle with ⌘.
recent_count = 10 # recent folders & files
Keyboard
| Action | Mac |
|---|---|
| Open folder | ⌘O |
| Find file | ⌘P |
| Toggle sidebar | ⌘B |
| Split view | ⌘\ |
| Toggle wide column | ⌘. |
| Wide on / off | ⌘+ / ⌘− |
| Back / forward (focused pane) | ⌘[ ⌘] |
| New window | ⌘N |
Roadmap
- 0.2 — signed + notarized macOS build (no more Gatekeeper bypass)
- 0.3 — Linux + Windows pre-built artifacts
- 0.4 — full E2E perf scenarios on CI (currently blocked on
tauri-drivermacOS support) - Brew tap, winget manifest, and an install endpoint at
mdz.sh/install
Changelog
- 0.1.0 · 2026-05-08 · first public preview. Reading view, FTS5, trigram fuzzy file finder, wikilinks, math, mermaid, code highlight, split view, five themes, file watcher with incremental index updates.
mdz is free and open-source under the MIT license. Source: github.com/CharlesWong/mdz. Bundled libraries (KaTeX MIT, highlight.js BSD-3, Mermaid MIT) — see licenses. Privacy: there is none to talk about; the app makes no network calls.