rendr is a native macOS Markdown previewer for local documents. Open a file
from Finder, Open With, or the shell, and rendr shows a live AppKit preview
backed by WKWebView.
It is built for the everyday writing loop: edit Markdown in your preferred editor, keep a native preview window beside it, and export the result when you need to share it.
Markdown previewing should feel like opening a document, not signing into a service or starting a web app. rendr keeps the workflow local-first: no accounts, no analytics, no remote rendering service, and native macOS file-open behavior for the documents already on your machine.
- Open Markdown files from Finder, Open With, or
open -a rendr. - Live reload as the source file changes.
- GitHub-flavored Markdown with tables, task lists, strikethrough, autolinks, footnotes, heading anchors, and GitHub-style alerts.
- Light and dark appearances that follow the system setting.
- Syntax highlighting and copy buttons for fenced code blocks.
- Mermaid and supported PlantUML diagram fences.
- Preview search with
Command-F, plus zoom controls. - Export to HTML or continuous, web-page-style PDF.
- Conservative sanitization before rendering in
WKWebView.
- macOS 26 or newer.
- Swift 6.2 toolchain, usually through Xcode 26.5 or newer.
To compile from source:
- Xcode 26.5 or newer, or another Swift 6.2 toolchain with the macOS 26 SDK.
- SwiftPM access to fetch the pinned
swift-cmark0.8.0 dependency on the first build. - Standard macOS command-line tools used by the Makefile and install scripts,
including
make,bash,git,perl,xcrun, andcodesign. - Full Xcode, not only the Command Line Tools, when running
make install; the install script usesactoolto build the app icon asset catalog.
No Homebrew cmark-gfm, Node.js, npm, or external Mermaid install is required.
Mermaid is bundled as an app resource.
Build and install the app bundle:
make installBy default this installs rendr.app to ~/Applications. Override the install
location with APP_DIR:
APP_DIR="$HOME/Applications" make installThe installed app contains its executable, bundled rendering resources, privacy
manifest, license, and third-party notices. It does not install a separate
rendr shell command.
Open a Markdown file with rendr.app from Finder, Open With, or the shell:
open -a rendr path/to/document.mdFor development without installing first:
make run-app MD=README.mdClosing the last preview window leaves the app running so it can handle the next file-open event without relaunching.
If sandboxed access prevents document-relative images or media from loading, use
File -> Grant Folder Access... and choose the containing folder.
Use the File menu to export the current preview as HTML or as a continuous PDF.
rendr does not collect analytics, create accounts, track users, or send document contents to an external service. Documents are rendered locally. HTTPS images and media referenced by a document may load from their original URLs, while scripts and network fetches are blocked by the preview content security policy. Local exports are written only to destinations selected by the user.
See Resources/AppStore/Privacy.md for the App Store privacy summary.
Use the Makefile entry points:
make help
make build
make test
make releaseProject layout:
Sources/RendrKit: shared app policy and rendering pipeline code.Sources/rendr-app: AppKit application entry point and bundled resources.Tests/RendrKitTests: Swift Testing coverage for rendering, app policy, install behavior, and source contracts.Resources: app icon assets.Resources/AppStore: sandbox entitlements and privacy resources used by the installed app bundle.scripts: install tooling.
BSD 3-Clause. See LICENSE. Third-party notices are listed in THIRD_PARTY_NOTICES.md.