Review the Markdown your agents write.
Claude Code, Cursor and friends fill your repos with plans, reports and docs. Twain renders them safely, shows exactly what changed, lets you pin notes to the lines that need work, and turns your review into a brief the agent can act on. Native, offline, and it never runs a line of the document's code.
space previews any .md or .mdx in Finder
One-time purchase. No subscription. Free 7-day Pro trial in the app. macOS 14 or later, Apple silicon or Intel.
Launch discount: $19 (normally $29). Limited time offer.
Not shipped yet. The signed, notarized build is in progress; the download and checkout open together when it's ready.
Everything you want from a Markdown app
The viewer, Quick Look, Show Changes and diagnostics are free. Pro adds the editor, version history, notes and the agent brief, export, and presentation mode. Every card has its own page with the detail.
Markdown viewer Free
GFM tables, tasks, footnotes and alerts, KaTeX maths and highlighted code, rendered offline.
Read moreMDX viewer Free
Known components become real UI; unknown ones become safe, labelled placeholders.
Read moreEditor Pro
WYSIWYG for Markdown, source with live preview for MDX, and snippets with tab stops.
Read moreFinder Quick Look Free
Press space on any .md or .mdx in Finder and read it fully rendered, no app window.
Read moreMermaid diagrams Free
Fenced blocks render as real diagrams, in the app and in the Finder preview.
Read moreVersion history Pro
Every document keeps its own past versions, git or not, captured only when content changes. Browse them and restore any one as an unsaved edit.
Read moreShow Changes Free
A rendered diff against the last save, git HEAD or any revision, so you review what a reader will see.
Read moreNotes & agent brief Pro
Pin notes to exact source ranges, then fold them and the diagnostics into one line-anchored brief.
Read moreDiagnostics & proofing Free
Unknown components, imports, missing images and broken links with source lines, plus spell, grammar and style checks.
Read moreWorkspace & search
Folder sidebar, tabs, project-wide search with line context, and live refresh when a file changes on disk.
Read moreExport & presentation Pro
Clean PDF and print, styled HTML, a self-contained single file, and slides.
Read moreCLI & MCP server
twain-md check, render and export, plus a read-only MCP server for agents.
Read moreMDX, without a dev server
MDX is Markdown with components. Plenty of apps will open an .mdx file; they strip the components out or print raw JSX. Twain renders it, safely, and speaks the component names Docusaurus, Mintlify, Nextra and Fumadocs use. Here is the exact difference, not a tick in a table:
<Callout type="tip">
Ship the docs, not a dev server.
</Callout>
<PricingTable plan="pro" />
<PricingTable plan="pro" />unknown component: shown safely, never executedKnown components (callouts, tabs, steps, cards, details) map to built-in UI, and a component map teaches Twain new names. Unknown ones become labelled placeholders with their props intact. Imports and expressions are parsed, never executed, so opening a file can't run project code. Rich MDX editing stays source-based; the WYSIWYG editor is for Markdown.
Three things almost nothing else on your Mac does.
MDX that renders, without running the code inside it
MDX mixes prose with framework components. Twain shows the finished document by mapping meaning to safe built-ins, never by executing project code.
- Known components become real UI. Docusaurus, Mintlify, Nextra and Fumadocs maps cover callouts, tabs, steps, cards and accordions, and a component map teaches it your own set.
- Unknown components become labelled placeholders, so the document's meaning survives a tag it has never seen.
- Imports and
{expressions}are reported with their source line, so you know what a document assumes. Nothing is run; the output is sanitised.
<Cards> and <Disclosure> become UI; an unknown <ColorPicker> becomes a labelled placeholder, not a crash.
Press the space bar. There is your document
Twain installs a real Finder Quick Look preview for Markdown and MDX, so they behave like first-class files on your Mac rather than mystery text.
- Preview
.mdand.mdxin place. Select a file, tap space, read it fully styled without opening an app. Almost nothing else on macOS previews MDX at all. - Open the folder as a workbench. Browse a whole docs folder in a sidebar, keep documents in tabs, and search the project with
⌘⇧F. - Live refresh. When an agent rewrites the open file, the view updates on its own.
The review loop between you and your agents
See what changed, mark what is wrong, keep a private history of every version, and hand a clean brief back to whoever, or whatever, is doing the writing. Show Changes is in the free viewer; notes, history and the brief come with Pro.
- Show Changes, free. A rendered diff against the last save, a chosen revision or Git HEAD, so you review what a reader will actually see. When an agent rewrites the file you have open, one click shows you what it did.
- Anchored notes and local history, Pro. Pin a note to a range of source; it re-anchors as text shifts and marks itself orphaned when the quoted text is gone. Every file keeps its own version history, Git or not.
- Copy Report for Agent, Pro. One action folds your notes and the document's diagnostics into a line-anchored brief: change requests, then questions, then notes.
12 ## Installation
13 Run the setup wizard.
13 Run `npm install` then `npm start`.
14 ## Configuration
15 Set the API key in .env first.
@@ note → confirm the env var name with the API docs
▸ 2 blocks added · 1 changed · 1 note
Your agent writes the docs.
You catch what is wrong, and hand it back.
A coding agent produces a folder of Markdown and MDX faster than you can open it. Twain is the review surface in between: read it, diff it, annotate it, return a precise brief.
The agent ships docs
A folder of Markdown and MDX lands on disk, components and all.
You preview it
Press space in Finder, or open the folder in the app. It renders at once.
You see the diff
Show Changes marks every block added, changed or moved since the last version.
You mark the lines
Pin notes and change requests to exact ranges of source. They live beside the file.
You hand it back
Copy Report folds your notes and diagnostics into one line-anchored brief.
The same engine, reachable from the terminal and your agents.
Everything Twain renders and checks runs the identical offline pipeline outside the window too, so what you see and what your CI checks cannot drift apart.
$ twain-md check release-notes.mdx
release-notes.mdx: 2 finding(s)
line 51 unknown component <RoadmapWidget quarter="Q3" status="planned">
line 55 broken link ./configuration.md
$ twain-md check docs/ --strict --json
→ line-anchored findings · exit 1 for CI
Built for the way you already work
Point the CLI at a file or a folder for line-anchored findings, JSON output and real exit codes. Give an agent the read-only MCP server so it can review a document without writing to it. Open a file straight from VS Code or Cursor.
"In the build" ships inside the app; the CLI, MCP server and editor helpers are not yet separately published. The iPhone and iPad companion is in development and heading to TestFlight; there is no App Store listing yet.
Your documents stay yours.
Your licence stays yours.
Twain is a native Mac app with a precise, verifiable stance on what leaves your machine.
No account, and nothing that names you
There is no account to create. An anonymous check-in counts installs, versions and editions without storing a device identifier or an IP address, and nothing it answers can affect your licence. The app keeps working if it never connects. The privacy policy spells out exactly what is counted.
Remote subresources blocked
In the Finder Quick Look preview a WebKit rule blocks every remote subresource, always, so a preview can never load a tracking pixel from someone else's document.
Remote images, visible and controllable
In the app, remote images referenced by your own files load by default, with a one-tap toggle to block them and a running count of what was stopped. You decide, and you can see the decision.
Documents cannot run code
MDX is rendered by mapping meaning to safe built-ins and sanitising the result. No import, expression or component from a file is ever executed, so an untrusted document stays inert.
Viewing writes nothing
Version history captures a document only when its content changes, never on a read. Review notes live in a sidecar beside the file, never inside it.
Your files stay your files
Twain works directly on the Markdown and MDX already on your disk. No proprietary database, no lock-in, portable the day you arrive and the day you leave.
How it compares
Twain is not the only Markdown app on your Mac. The comparison page weighs it against fifteen of them in three groups, with every fact dated and sourced, and says plainly where a rival is better.
Head to head: vs Bear, vs Typora, vs Peekdown, vs Lettera, vs Obsidian, vs Marked, or the whole field in three groups.
Simple pricing
Free to read. Pay once for the whole workbench. No subscription.
- View Markdown and MDX
- Finder Quick Look
- Maths, Mermaid, GFM, alerts
- Show Changes and document diagnostics
- Tabs, outline, project search
- Everything in Free
- WYSIWYG editing for Markdown (MDX stays source-edited)
- Version history, anchored notes, agent brief
- PDF and HTML export, print
- Folder mode, reading themes, presentation
- One licence, all your Macs
Prices in USD.
Questions
What is free, and what needs Pro?
Viewing is free: full MDX rendering, Finder Quick Look, Show Changes and the diagnostics panel, including the one-click diff when something rewrites the file you have open. Pro unlocks editing and saving, version history, anchored notes and the agent brief, PDF and HTML export, folder mode, reading themes, and presentation mode. You can try Pro free for 7 days.
Is it a subscription?
No. Pro is a one-time purchase. You own your version, and your licence remains yours, forever.
How does licensing work?
After purchase you receive a licence key by email. Open Twain, choose Enter Licence, and paste it. Your licence remains yours, forever, and Pro keeps working with no internet connection. Lost your key? We will send it again.
Can I use Pro on more than one Mac?
Yes. One Pro licence covers every Mac you own, with no device limit and no activations to use up. You enter the same key on each machine.
Can I get a refund?
Yes. We offer a 14-day money-back guarantee. Purchases are handled by Paddle, our Merchant of Record, who manage VAT, invoices, and refunds. See our refund policy.
What are the requirements?
macOS 14 or later, Apple silicon or Intel.
Download Twain
The free viewer, with a 7-day Pro trial built in.
Not shipped yet. The signed, notarised build is in progress; this button will download it the day it's ready, and checkout opens at the same time. Nothing is charged before there is something to download.