The WYSIWYG Markdown Editor That Never Shows You Its Syntax
Almost every WYSIWYG Markdown editor reveals the raw syntax on whichever line your cursor happens to be on. The markers appear, the words shift sideways, and they shift back when you leave. PlainMark Editor does not do that — and structurally cannot.
There are, at a conservative count, several hundred Markdown editors on the App Store. Most of them are free. Several of them are very good. Adding one more to that pile requires either a genuinely good reason or a very short memory.
Here is the reason.
What most WYSIWYG Markdown editors do
Put your cursor on a heading. The # appears at the start of the line, and every word shifts right to make room for it.
Move into a bold phrase. The asterisks appear. The words move again. Move away, and everything slides back.
This is not a bug and it is not sloppiness. It is a deliberate design decision, and a defensible one — Typora documents the behaviour as intentional. You are editing Markdown, so the argument goes, and Markdown is the syntax. You should be able to see it where you are working.
The trouble is that writing and editing are different activities. When you are drafting a paragraph, having the page rearrange itself every time you move the cursor is not information. It is movement in your peripheral vision while you are trying to think.
What PlainMark Editor does instead
In Formatted mode the markers stay hidden. The cursor moves through a heading and no # appears. It moves through bold text and no asterisks appear. Nothing shifts.
The file on disk is unchanged throughout. The markers are still there, exactly as you typed them. Switch to Source mode and they are all present, with a line-number gutter, ready to be edited as raw text.
The mechanism, stated plainly
This is not a preference you toggle.
SwiftMarkdownStyler.style(_:mode:)That is the function that decides how the document looks. It receives the text and the display mode. It does not receive the cursor position. It is never told where the caret is — so revealing syntax under the caret is not a feature left out. It is something the code has no way to do.
There is a test asserting this, because a claim like that is only worth making if something stops it quietly becoming untrue in six months.
The honest limit
The markers are hidden, not deleted. They still occupy positions in the text, which means the caret still travels through them. Moving across a heading costs two key presses that appear to do nothing.
So: the syntax never appears, and the text never shifts. Caret movement is not frictionless. Those are two different claims and only the first one is being made here.
What it deliberately does not do
- No tables, footnotes or math. Pipe-table rows export as literal text.
- No sync, no continuity, nothing stored on your behalf.
- No account, and no in-app purchase.
- Requires macOS 26, iOS 26 or iPadOS 26.
If you need tables, this is the wrong editor, and it is better to find that out here than in a refund request.
What it does do
Two modes on one editable surface. Source, with line numbers, when you want the raw file. Formatted, when you just want to write.
Print it, or export to PDF, PNG, RTF, HTML or plain text. DOCX on Mac. Mac, iPhone and iPad on a single purchase.
Why ninety-nine cents
Because the price is not the strategy.
This is not going to win on price. Obsidian is free and is not a subscription either. iA Writer is excellent. The category does not have a pricing problem, and pretending otherwise would be a marketing claim rather than a true one.
Ninety-nine cents is a threshold, not a valuation. High enough to mean somebody made a decision, low enough that the decision is not a project. What matters in the first year is not revenue — it is how many people chose to install it, and what they say about one narrow idea.