A Markdown notepad for macOS
with no opinions about your text.

Tired of editors touching your work?

Free and MIT licensed. Made for macOS 26.
No AI, no account, no telemetry.

## Your file, byte for byte.

marPad saves what you typed in the encoding and line endings the file came with. UTF-8 or UTF-16, Windows-1250 or Shift JIS, LF, CRLF, even a file that mixes them: it goes back to disk exactly as it came.

Opened pangram.txt

          
Saved pangram.txt

          
Saved by
You ask for

Encodings and line endings change only when you ask: Reinterpret As, Convert To, Line Endings. Each is one ⌘Z away. If a character won't fit the file's encoding, that one save goes out as UTF-8, and the status bar says so.

## Ten helpers, all switched off.

Every text view on the Mac comes with ten helpers. They curl your quotes, stretch your dashes and fix “teh” while you look the other way. marPad turns all ten off. Turn them back on here, and watch the right side.

What you typemarPad saves this
sha256 …
What a helpful editor savesno helpers on
sha256 …
Sources/marPad/SourceEditor.swift Read the source
  1. textView.isAutomaticQuoteSubstitutionEnabled = // "quotes" become “quotes”
  2. textView.isAutomaticDashSubstitutionEnabled = // -- becomes —
  3. textView.isAutomaticTextReplacementEnabled = // omw becomes “On my way!”
  4. textView.isAutomaticSpellingCorrectionEnabled = // teh becomes the, json becomes Jason
  5. textView.isContinuousSpellCheckingEnabled = // red squiggles under marPad
  6. textView.isGrammarCheckingEnabled = // “its” gets a lecture
  7. textView.isAutomaticLinkDetectionEnabled = // URLs turn into links
  8. textView.isAutomaticDataDetectionEnabled = // “tomorrow at 9:30” wants to be an event
  9. textView.isAutomaticTextCompletionEnabled = // finishes your words for you
  10. textView.smartInsertDeleteEnabled = // tidies the spaces around your words

## Everything it has.

It all fits in one window. Here it is, taken apart.

  • Format Bold, italic, code, link, headings, lists. Each types plain Markdown into the text, and a second press takes it out.
  • Tabs Native macOS tabs and windows. ⌘T, ⇧⌘N.
  • Text Plain text in Geist Mono. Nothing automatic, ever.
  • Status Line numbers, wrapping, Ln and Col, the size of the selection.
  • Zoom ⌘+ and ⌘−, ⌘-scroll or a pinch. One size for every tab.
  • View Text, Split, Preview. ⌘1, ⌘2, ⌘3.
  • Preview Markdown the way GitHub renders it, Mermaid included. It shows; it never edits.
  • Bytes Line endings and encoding, changed only when you ask.

## The disk wins.

The file changes when you press ⌘S, and not a moment before. When another app changes a file you have open, the tab shows the new version within a second. No merge dialog, no “keep mine or theirs”. If you had unsaved edits, one ⌘Z brings them back.

another app writes build.log

          
build.log

            
Ln 1, Col 1LF UTF-8

Watching a log? If its end is in view, it stays in view. It's tail -f without a mode.

## One font.

Geist Mono, in the text, the preview and the diagrams. There's no font picker, because there's nothing to pick.

#
heading
*
emphasis
_
emphasis
`
code
>
quote
-
list
[
link
!
image
~
strike
|
table

13 pt Actual Size

⌘+ and ⌘− step through these sizes, for every tab at once. ⌘-scroll or pinch over them to try it.

## Everything it doesn't have.

Feature creep is how small apps die. Help marPad keep it out.

rejected 0

Feature creep

Features fall. You're the caret. Keep marPad small.

Mouse, touch or ← →. Catch ⌘Z for a life, KISS to clear the screen.

marPad's icon: a hash sign and a cyan caret on dark glass

## Get marPad.

Free and MIT licensed, made for macOS 26. Build it with Xcode 26 and Task:

$ brew install go-task
$ git clone https://github.com/mmalcek/marPad.git
$ cd marPad && task run

The website got all the opinions.
The app didn't get any.

marPad is MIT licensed. Geist Mono is used under the SIL Open Font License.
This page loads nothing from anywhere else, and tracks nobody.

marPad
GitHub