25 features shipped · 1.0

Every feature,
earning its place.

All shipped, all in the current 1.0 build, all grouped by what they help you do. Nothing on this page is "coming soon" — a Markdown editor's feature matrix shouldn't need a scroll wheel to get to the bottom.

01

Editor

Where the typing happens. Syntax highlighting, auto-pairing, list continuation, and the keyboard shortcuts you'd expect from a Markdown editor that respects your time.

Syntax-highlighted Markdown

A monospace editor with headings, bold, italic, inline code, fenced blocks, links, blockquotes, list markers, horizontal rules, and YAML front matter all coloured inline. Five font families (SF Mono, Menlo, Monaco, Courier New, Andale Mono) and four themes (Default, Solarized, Nord, Xcode).

You see the structure of your document as you write it.

Formatting shortcuts

Cmd+B, I, E, K for bold, italic, inline code, link. Cmd+1 through Cmd+6 for headings. Select text first — the editor wraps it in the right markers. Auto-pairs `*`, `` ` ``, `~`, `[`, `(` on selected text so you don't chase closing characters.

Every common Markdown gesture lives on a key combination.

Smart paste

Paste from a webpage or a rich-text document and flexDoc converts HTML/RTF to Markdown on the way in. Headings, lists, links, and inline formatting come through; the inserted range flashes blue for 0.8 seconds so you can see what landed. Cmd+Shift+V pastes plain text if you'd rather.

Copy a whole article, get Markdown. No cleanup step.

List continuation

Press Enter at the end of a bullet, numbered, blockquote, or task-list line and the next line gets the same prefix — numbers auto-increment. Press Enter on an empty item to stop.

Outlines stay outlines without touching the keyboard twice.

Drag and drop

Drop images into the editor and they arrive as `![filename](path)`. Drop a text file and the contents inline. Drop a DOCX and flexDoc extracts its text on the spot.

Grab a file from Finder, land it in the document.

Find, replace, go to line

System find bar on Cmd+F. Cmd+G / Cmd+Shift+G for next and previous. Cmd+L jumps to a specific line number.

Navigate long documents the way the rest of macOS does.

Table of contents

Cmd+Ctrl+T inserts a linked TOC at the cursor, generated from your headings with GitHub-compatible anchors.

One shortcut, one navigable index.

02

Preview

The right pane. Updates by injecting HTML into the running WebView so your scroll position, code highlighter, and rendered diagrams all stay where you left them.

Live preview, no flicker

The WebView updates by injecting body HTML, not by reloading the page. Scroll position, highlight.js, Mermaid, and KaTeX stay loaded between edits. First load uses a full render; preset changes trigger the full render again because CSS swaps warrant it.

A preview you can watch without getting sick.

Five preview presets

Standard, GitHub, Academic (serif, wider margins), Minimal, and Newsletter (wider body, editorial feel). Each preset bundles its own CSS. The toolbar paintbrush swaps between them instantly.

Pick the look once, and your document wears it everywhere.

Code highlighting, 37 languages

Highlight.js 11, loaded from CDN only when the rendered HTML actually contains fenced code. Adapts to light and dark mode. Every code block gets a copy button in the top-right of the preview.

Tech documents look like tech documents.

Mermaid diagrams

Fenced blocks with the `mermaid` language render in place. The Mermaid runtime is loaded on demand and `mermaid.run()` re-fires after every incremental update so your diagrams stay in sync while you edit.

Flowcharts, sequence diagrams, and entity diagrams inline.

KaTeX math

Inline with `$E = mc^2$`, display with `$$ \sum x_i $$`. KaTeX loads only when math is present — no runtime cost on documents that don't need it.

Math typeset properly, without carrying a whole LaTeX build around.

Bidirectional scroll sync

Editor scroll drives preview via JavaScript eval. Preview scroll posts back via a script message handler. Debounced at 100ms; a source flag prevents feedback loops.

The two panes stay in step without fighting each other.

03

Round-trip

The headline trick: open a DOCX, edit Markdown, save a DOCX. Style hints survive the trip because they're embedded in the text and the protocol is versioned.

Round-trip DOCX editing

Open a `.docx`, read it as Markdown, edit it, and the original document is re-emitted with your edits applied — headings preserved as headings, lists as lists, untouched runs untouched. The engine writes to `*_modified.docx` by default; the original is never mutated without your say-so.

Edit Word documents in Markdown. Hand back Word documents.

Style-hint preservation

Paragraph styles survive as `<!-- flexdoc:style Heading 1 -->` HTML comments embedded in the Markdown. The hints are human-readable, AI-safe (they don't fall off when you ask a model to rewrite a section), and the protocol name is versioned so it can evolve without breaking existing documents.

Rewrite freely. Styles stay attached to the right paragraphs.

Safe by default

flexDoc never writes over the file you opened. Round-trip output goes to a new file alongside the original, with an explicit opt-in per operation if you'd rather overwrite.

Your original document is still there tomorrow.

04

Analysis

The panels that notice things. The linter for structural issues, the outline for navigation, and the status bar for the numbers that matter.

Structural linter

A bottom pane flags heading-level gaps (H2 jumping to H4), trailing whitespace, long lines, empty links, and inconsistent list markers. Click an issue to jump to its line. When everything passes, the pane says "Clean." The Dock icon carries a badge for outstanding issues.

Catch the structural problems that make documents hard to read.

Outline sidebar

The left sidebar shows the heading tree H1–H6 — click any heading to jump. Empty documents get a structural silhouette as a placeholder.

The spine of your document, always one click away.

Status bar and statistics

Lines, words, characters with a rolling counter animation, reading time, selection count, and a badge showing the source format (MD, DOCX). Click the counter for a detailed statistics popover.

Numbers that matter, without a dedicated panel.

05

Export

How documents leave flexDoc. HTML, PDF, RTF, plus Copy As… for the other places Markdown doesn't land cleanly.

HTML, PDF, RTF export

Export the rendered preview to HTML (complete document with embedded CSS), PDF (via the same WebView pipeline), or RTF (via NSAttributedString's HTML import). Export data is pre-computed before the save panel opens, so the main thread never blocks on the WebView. A checkmark stamp animation confirms success.

The document you see in the preview is the document you ship.

Copy as…

Cmd+Shift+C copies the HTML fragment. Cmd+Shift+Opt+C copies styled rich text. A third menu item copies the raw Markdown source. Paste into Notion, Pages, Mail, or anywhere else that expects real content, not a mystery blob.

Move content out of flexDoc in whatever format the other app wants.

Print the preview

Cmd+P prints the rendered preview with clean margins. No separate print layout — what you see is what goes to the printer or PDF dialog.

Printing works, quietly.

06

Shortcuts

flexDoc's actions as first-class App Intents — automatable, Siri-pipeable, Spotlight-surfaced. Useful whether the app is open or not.

Seven Shortcuts actions

Convert Markdown to HTML, count words, lint Markdown, convert clipboard HTML/RTF to Markdown, convert a list to a table, convert a table to a list, generate a table of contents. Four are registered as App Shortcuts with Siri phrases.

Automate Markdown plumbing without opening the app.

App Intents for every action

Each Shortcuts action is an App Intent — typed inputs, typed outputs, Spotlight-surfaced, pipeable into any Shortcuts workflow. Run them from a keyboard shortcut, a Focus filter, the Action Button, or Siri.

The app stays out of your way; its verbs stay in your toolbox.

Keyboard shortcut reference

Cmd+/ opens the full shortcut sheet: formatting, headings, view toggles, navigation, export. Organised by section so you find the one you're reaching for without scrolling.

The whole keyboard layout, one shortcut away.

What we don't do

Features only count if the app isn't quietly cashing in on you.

Local-first
Markdown lives on your Mac as `.md` files. Documents never leave the device.
No subscription
Core editor, preview, lint, conversion, round-trip, and export all ship in the one-time purchase.
No accounts
No sign-in, no trial timer, no email capture, no "verify your license." You buy it, you run it.
No tracking
No analytics SDKs. The only outbound connections are optional CDN fetches for code highlighting, Mermaid, and KaTeX — and only when your document actually contains those things.

Got documents to fight with?

Tell us the formats you can't get out of and the ones you need to get back into. We'll send you a build.