editmd

Edit markdown as a rendered page. Save it as plain markdown.

A small native Mac editor. You type in the formatted document, as in a word processor, and editmd writes the file back as markdown.

brew install --cask kirahowe/tap/editmd

View on GitHub Other ways to install

Free and open source (MIT). macOS 14 or later.

editmd showing a markdown file called Garden tracker, rendered as a document: YAML front matter in a box at the top, a heading, a task list with two items ticked, a table of moisture readings, a Mermaid flowchart from probe to board to hub to a shared log, a JSON code block and a block quote.
One markdown file, rendered and editable. Front matter, task list, table, Mermaid diagram and code block are all plain markdown on disk.

Features

Works alongside coding agents

Other programs can edit the file while it is open, a coding agent for example. editmd notices and merges their changes into the window.

  • With nothing unsaved, the window just shows the new version.
  • With unsaved edits, both sides' changes are kept. Edits to different paragraphs, list items or table rows combine, and your cursor stays where it was.
  • Cmd-Z undoes only your own edits, not the agent's.
  • Before writing, a save reads the file one last time and merges anything newer on disk.

Each window keeps the document in a Yjs CRDT and replays outside changes as edits against it, block by block. If you and the other program change the same paragraph at the same time, the paragraph keeps both changes, which may need tidying.

editmd showing a release plan: a checklist of steps with two ticked, a numbered list of open questions, a small table of checks with owners and a make check code block.

Safe to open someone else's README

Install

With Homebrew

brew install --cask kirahowe/tap/editmd

From source

You need Xcode (or the Swift toolchain) and bun. make install builds the app, copies it to ~/Applications and registers it.

git clone https://github.com/kirahowe/editmd
cd editmd
make install

Then open a file

open -a editmd notes.md

Requires macOS 14 or later.