MarkTo converts Markdown into Rich Text Format (RTF). Copy the result into a rich-text app, or convert a Markdown file directly into an RTF file beside the original.
MarkTo runs locally. It does not send your documents to a server or include analytics or telemetry.
- Mac App Store
- Latest GitHub release — signed and notarized DMG
MarkTo requires macOS 13 Ventura or later.
- Converts Markdown text to RTF and copies both rich text and plain text to the clipboard.
- Converts
.mdand.markdownfiles into sibling.rtffiles. - Preserves existing exports by naming the next file
Document 2.rtf,Document 3.rtf, and so on. - Works in a standard window or from the menu bar.
- Formats headings, paragraphs, links, bare URLs, bold, italics, strikethrough, and inline code.
- Handles fenced code blocks, block quotes, and horizontal rules.
- Converts nested ordered, unordered, and task lists, plus pipe-delimited tables.
- Lets you customize fonts, sizes, spacing, and styles for Markdown elements.
- Supports light, dark, and system appearance.
- Can start at login, hide its Dock icon, and keep its main window hidden at startup.
- Open MarkTo.
- Type or paste Markdown into the editor.
- Select Convert to RTF, or press Command-R.
- Paste the result into a rich-text app.
Use any of these methods:
- Drop a
.mdor.markdownfile into the main window. - Drop a file into the menu-bar popover.
- Open a Markdown file with MarkTo from Finder.
- Drop a Markdown file onto the MarkTo app or Dock icon.
- Right-click the menu-bar icon and select Convert Markdown File….
MarkTo creates the RTF file in the same folder as the Markdown file. It never overwrites an existing export.
- Left-click the MarkTo menu-bar icon to open or close the conversion popover.
- Right-click the icon to convert files, open the main window, open Settings, or quit.
Markdown conversion happens on your Mac. MarkTo contains no analytics or telemetry and does not upload document content.
MarkTo accesses only the data needed for the action you choose:
- Clipboard: MarkTo does not read the clipboard when it opens. It writes converted rich text and plain text only after you select Convert.
- Markdown files: MarkTo reads files that you open, select, or drop into the app. File conversion writes an RTF file beside the source document.
- Settings: MarkTo stores app and formatting preferences in local macOS preferences.
Links in Settings open their websites in your browser.
You need macOS 13 or later, Xcode 15 or later, and Swift 5.9 or later.
git clone https://github.com/iamkeeler/MarkTo-SourceCode.git
cd MarkTo-SourceCode
open MarkTo.xcodeprojBuild the direct-download version from the command line:
xcodebuild \
-project MarkTo.xcodeproj \
-scheme MarkTo \
-configuration Release \
buildBuild the sandboxed Mac App Store version:
xcodebuild \
-project MarkTo.xcodeproj \
-scheme MarkTo-AppStore \
-configuration AppStore \
-destination "generic/platform=macOS" \
archiveThe project uses SwiftUI, AppKit, Combine, and ServiceManagement. It has no third-party runtime dependencies.
Bug reports, fixes, tests, documentation, and UI improvements are welcome. Read the contribution guide before opening a pull request.
- Developer: Gary Keeler
- GitHub: @iamkeeler
- Website: attach.design
- Email: gary@attach.design
MarkTo uses the Creative Commons Attribution-NonCommercial 4.0 International License. You may share and adapt the project with attribution for noncommercial purposes. Contact gary@attach.design for commercial licensing.