# Markdown,
live on the page.

Marklet is a tiny, native macOS editor where syntax melts into formatting as you type. No preview pane. No Electron. Just your .md files, beautifully editable.

Download on the Mac App Store $2.99 $0 during launch  ·  macOS 14 or later  ·  11 MB
Version 1.1  ·  released 5 August 2026
Marklet editing a Markdown document with live headings, code highlighting, inline math, an image, and a table.
The real app. Native, fast, and editing plain Markdown.
The whole idea

One document. No preview pane.

Marklet styles your Markdown in place. Markers vanish where your caret is not and come back the moment you go in, so the file you edit is the file you read. Hover any line below to bring its syntax back, or reveal the whole document at once.

release-notes.md

Release notes

A single pane where the source is the preview. **Bold**, _italic_, ==highlight==, ~~struck~~, `inline code`, and [links](https://getmarklet.com).

## Shipping this week

Live formatting for every inline element

Tables you can edit cell by cell

Mermaid diagrams

Bullets draw as real bullets

  - Nested items shift one level in

> [!tip] Caret rules Caret rules Put the caret inside anything and the raw Markdown comes back. Move away and it renders again.
ElementRendersEditable
TableA grid that stays a gridYes
MathSwiftMath imageYes
```swift
// about 190 languages
let editor = NSTextView(frame: .zero)
editor.layoutManager = EditorLayoutManager()
```

Inline math like $e^{i\pi} + 1 = 0$e + 1 = 0 sits on the baseline, and $5 stays five dollars.

$$ a^2 + b^2 = c^2 $$ a2 + b2 = c2

![Harbor](harbor.jpg)

---

Everything above is one plain text file on your disk. Open it in any other editor and nothing is missing.

Features

What Marklet does

Live formatting, everywhere

Bold, italic, bold plus italic, highlights, strikethrough, inline code, links, heading markers, escape backslashes, and whole image expressions all collapse when the caret leaves them. Nothing is retyped and nothing is converted: the markers are simply hidden in place.

  • Bullets render as drawn bullets while the raw marker waits underneath
  • Bold, italic, and both together each get their own color
  • Inline code stays literal, so `**bold**` keeps its asterisks
  • Prefer the old look? One switch in Settings dims markers instead of hiding them
Caret outside

**Milestones** for *this* quarter

Ship the ==editor core==, then ~~rewrite it~~

Read the [notes](notes.md) first

Lists that keep up with you

Return continues a bullet, an ordered item, or a task. Return on an empty item exits the list. Tab and Shift Tab indent and outdent, wrapped lines hang under the content instead of under the marker, and ⌘L turns any line into a checkbox.

  • Real checkboxes you click, with normal undo
  • Bullet, ordered, and task lists all continue correctly
  • Nested levels shift one em per level
  • Headings inside list items work, and show up in the outline
Click a box- [x] Draft the changelog

Draft the changelog

Cut the release build

Upload to App Store Connect

Tables you can actually edit

Pipe tables draw as a grid and stay a grid. Click a cell to edit it right there, Tab to the next one, and Tab from the last cell to add a row. Right click for row and column operations and column alignment. Cells render their own inline Markdown, including code, links, and images.

  • The grid stretches to the width of the source block
  • Cell text wraps, and rows size to their content
  • Format Table tidies the pipes in padded or compact style
  • Underneath it is still an ordinary pipe table in your file
Editing a cellright click the table
BuildSizeEngine
Marklet11 MBAppKit
Electron app285 MBChromium

Code blocks with colors and a copy button

Fenced blocks get language aware highlighting for roughly 190 languages, themed separately for light and dark mode. The background runs the full width of the line, and the copy button shows the language name and copies the contents without the fences.

  • Unknown languages fall back to plain code styling
  • The code font is configurable and stays monospace by default
  • Inline code gets its own adaptive background
  • Blocks get extra breathing room above and below
Fenced blockcopies without the fences
func highlight(_ range: NSRange) {
  // only the edited paragraph
  applyIncremental(range)
}

Math that knows what money is

Block formulas between $$ render centered through SwiftMath. Inline formulas between single dollars render on the baseline and collapse to exactly the width they need. Prices like $5 and $1,000.50 are left alone by a currency heuristic, and an escaped dollar sign never opens math at all.

  • Sharp on any display, redrawn at your font size
  • Caret reveals monospaced, editable LaTeX
  • Math never fires inside code blocks, code spans, or tables
Rendered

Coffee costs $4.50, which is not math.

$$ x = \frac{-b \pm \sqrt{b^2-4ac}}{2a} $$ x = b ± √(b2 − 4ac)2a

Quotes, callouts, and the whole type set

Blockquotes draw a vertical accent bar per nesting level. Callouts written as > [!note] pick up the accent color, a tinted background, and the conventional SF Symbol for their type, covering the full GitHub and Obsidian type set plus aliases. Add your own title and it becomes an accent colored headline.

  • Note, tip, important, warning, caution, and friends
  • Nested quotes such as > > text stack their bars
  • Unknown types stay ordinary quotes instead of breaking
Calloutsaccent, icon, custom title
Note Marklet keeps the raw > [!note] line under the render.
Read the fine print Custom titles render as the headline, Obsidian style.

Images sized the way you drew them

Local and remote images preview under their source line, centered, at their real dimensions, so nothing leaves a band of empty space. Drag the grip on the right edge to resize, and Marklet writes the width straight back into the alt text as ![alt|420](photo.jpg).

  • Document relative paths, absolute paths, file URLs, and http images
  • Filenames with spaces work
  • Linked images open the outer link when you click the preview
  • Broken paths show an inline placeholder that says what it tried
Drag the grip![Harbor|220](harbor.jpg)

![Harbor|220](harbor.jpg)

A Mac app, not a web page in a costume

Real window tabs, the real find bar, the real font panel, the real title bar rename popover. Marklet is an AppKit text view with a custom layout manager, so every macOS text behavior you already have muscle memory for is simply there.

  • Undo that steps back the way you wrote: a thought at a time, not everything since your last click
  • Saving that quietly does its job and stays out of your way
  • Window tabs with ⌘T, ⌘1 through ⌘9, and the standard tab menu
  • Outline sidebar for headings with click to jump
  • Command palette on ⌘⇧P, shortcut reference on ⌘/
  • Reading mode on ⌘E, printing on ⌘P, drag and drop for images and files
⌘⇧Pcommand palette
tab
  • New Tab⌘T
  • Show Next Tab⌃⇥
  • Move Tab to New Window
  • Insert Table

Make it look like yours

Pick any font through the native font panel, keep code monospace or let it follow the editor font, and set bold, italic, highlight, and code colors with separate wells for light and dark. Structural spacing has Compact, Normal, and Relaxed presets plus a fine tune slider, and body line spacing has its own.

  • Every keyboard shortcut is reassignable, with conflict detection
  • Light, Dark, or follow the system, plus a choice of app icon
  • Word and character counter in the toolbar, or hidden
  • A scoped reset in each settings tab, so nothing is a one way door
SettingsAppearance
Bold
Italic
Highlight
SpacingCompactNormalRelaxed
Line spacing

Small, and quick about it

The whole app is about 11 MB, native builds for Intel and Apple silicon included, because there is no browser inside it. Typing restyles only the paragraph you touched instead of the whole document, and every regular expression and parse result is cached for the pass.

  • Noticeably less memory in use than comparable editors that render through a browser engine
  • Incremental highlighting, with a full pass only when block structure changes
  • Progressive highlighting, so big documents stay responsive while the rest catches up
  • Moving the caret skips a fresh pass when the active element has not changed
  • Over 300 automated tests over the parser and highlighter
App bundle sizemeasured, not quoted
Marklet11 MB
Typora44 MB
MarkText285 MB
Obsidian441 MB

Curious how that stacks up against the editor you use now? See the full comparison.

No Electron No accounts No telemetry Plain .md files
The complete list

Everything in the box

Marklet is small, but it is not thin. Here is the whole feature set.

Editing

  • Undo that takes back a thought, not a paragraph. Redo and revert to match
  • Saving you never have to think about: it saves when you ask, warns before closing unsaved work, and never gets in your way
  • Optional Auto Save with Versions, writing as you type and keeping earlier drafts
  • Notices files changed outside Marklet, and lets you keep yours, take theirs, or combine them
  • Reopens the documents you had open when you last quit, if you want it to
  • Inline find bar with live match highlighting
  • Find and replace, find next and previous, use selection for find
  • Bold, italic, link, strikethrough, and checkbox shortcuts
  • Format menu for inline code, highlight, and horizontal rule
  • Every shortcut reassignable, with conflict detection
  • Command palette with search over every action
  • Keyboard shortcut reference window
  • Editor zoom in, out, and reset
  • Auto pairing for brackets, backticks, and quotes
  • Selected text wraps when you type a pair
  • Spell check and every smart substitution, each its own toggle
  • Reading mode that renders the document with editing off
  • Print, including print to PDF through macOS

Markdown

  • ATX and Setext headings with scaled spacing
  • Headings inside list items
  • Bullet, ordered, nested, and task lists
  • Clickable task checkboxes with undo
  • Pipe tables with a rendered grid and cell editing in place
  • Row and column operations, alignment, and table formatting
  • Inline Markdown inside table cells
  • Fenced code blocks, about 190 languages, light and dark themes
  • Copy button that names the language
  • Inline and block LaTeX through SwiftMath
  • Blockquotes with one accent bar per nesting level
  • Callouts with icons, accents, and custom titles
  • Thematic breaks drawn as a rule
  • Bold, italic, bold plus italic, highlight, strikethrough
  • Inline code that stays literal
  • Escaped punctuation treated as text
  • Links, autolinked URLs, and autolinked email addresses
  • Wikilinks, with a choice of what happens when the target is missing
  • Local, remote, and linked images with resize handles

The Mac part

  • Document based open and save for .md, .markdown, and .txt
  • Native window tabs, tab bar, and the standard tab menu
  • Switch tabs with ⌘1 through ⌘9
  • Title bar rename, move, and disclosure popover
  • Rename between .txt, .md, and .markdown
  • Outline sidebar for headings with click to jump
  • Word and character counter in the toolbar
  • Drag images in to insert relative paths
  • Drag Markdown files in to open them
  • Folded Markdown document icon in Finder
  • Light, Dark, or system appearance
  • A choice of app icon

Under the hood

  • AppKit NSTextView with a custom NSLayoutManager
  • SwiftUI only for the app shell
  • No web view anywhere in the editor
  • Incremental highlighting per paragraph
  • Progressive highlighting for long documents
  • Cached regular expressions and per pass parse results
  • Width aware table measurement
  • Over 300 automated tests
  • About 11 MB installed, universal for Intel and Apple silicon
  • Sandboxed, and its one network permission exists only to fetch images your document points at
  • No accounts, no telemetry, no library database

Not yet

Mermaid diagrams, footnotes, and reference style links are not here yet, and neither is a dedicated HTML export. Raw HTML in a document is not handled at all, so it sits there as plain text. Most of that is what 1.2 is aimed at: HTML support and full CommonMark and GitHub Flavored Markdown coverage. If one of these is the reason you would not switch, say so on the support page and it moves up the list.

Get it

Now on the Mac App Store.

Small, native, and $2.99 $0 for the launch window. Your notes never leave your Mac.