0.1 preview · macOS only for now · unsigned build (right-click → Open the first time)
README.md — mdz
← → mdzREADME.md install changelog

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.

macOS · Apple Silicon
download .dmg
— 5.0 MB · v0.1.0 · unsigned preview

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 release binary is 8.5 MB; the .dmg is 5.0 MB. Anonymous, opt-out telemetry (open/render/search timings, no document content) helps tune the perf budget — that's the only network call. 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

0.07 ms
parse · 10k words
2 ms
render · 10k words
5.3 ms
FTS5 search · 10k docs
8.5 MB
single binary

Measured on Apple Silicon via the project's perf-baseline. 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

01

Reading view, not editor

Open the folder, click a file, read. Edit in your editor of choice; mdz watches the disk and re-renders.

02

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.

03

Split view + ⌘P

Open two notes side by side. Fuzzy file picker for the rest. Keyboard-first, mouse-optional.

04

Five themes

Light, Dark, Sepia, High-Contrast, Solarized. No "auto-tinted gradient mode." No telemetry-fed dynamic theming. Just five.

05

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.

06

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

README.md
Light
[[wikilink]]
README.md
Dark
[[wikilink]]
README.md
Sepia
[[wikilink]]
README.md
Hi-Contrast
[[wikilink]]
README.md
Solarized
[[wikilink]]

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://mdz.sh/downloads/mdz-0.1.0-macos-aarch64.dmg

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

Pre-built artifacts are planned but not in 0.1 — see the roadmap.

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

ActionMac
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

Changelog


mdz is free under the MIT license. 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.