All your Markdown. From all your projects. In one Mac app.
MDTree brings the Markdown files from all your projects into one calm, fast app. Read, write and find them again. Sync with GitHub, without your code going along.
Free to download · macOS 14 or later · Your files stay plain files
Your notes are everywhere. Except in one place.
Only your notes. Not the rest.
Add a folder with twenty projects and MDTree shows exactly the Markdown files. No source code, no node_modules. Click a project and you see all its notes in one list, with the subfolder next to each. Or press ⌘P and type a few letters.
- A tree that shows only notes. Folders without notes don't appear. Folders in between collapse into one row, like
src/content/blog. - All notes of a folder. From every subfolder, with the subfolder shown. Sort by last modified, name or folder.
- Search as you type. Across the full text, with a snippet and the match highlighted. Works in Chinese and Japanese too. Filter with
tag:,in:,ws:andis:task. - Quick open. ⌘P, a few letters, Enter.
An editor that gets out of the way.
The text sits in a readable column and the Markdown marks fade into grey. Next to it you see right away how it looks. Tick off a task right there in the preview.
- Saves automatically. Lists and tasks continue after Enter. ⌘B, ⌘I, ⌘E and ⌘K for bold, italic, code and link.
- Text only, preview only, or both. The preview scrolls along. Tables, code blocks, callouts, images, tags and front matter.
- Typewriter mode. The line you're typing stays in the middle.
- Daily note and Inbox. A quick note in an Inbox folder, and a template for new notes with title and date.
- Safe against outside changes. A warning if a file changed outside the app while your edits aren't saved yet.
Drag a note to another project.
Copying or moving between folders and projects is a drag. Hold Option to copy. "Copy to…" and "Move to…" list the folders of all your projects.
Links between notes
Connect them with [[double brackets]]. ⌘-click opens the note, and creates it if it doesn't exist yet. The inspector shows which notes link to this one.
Tags, favourites, recent
An overview of all tags, and your favourite and recent notes. Every folder gets its own colour, and every folder shows how many notes it holds.
Several notes open
As tabs side by side. Rename right in the row, Command-Delete moves to the Trash, and the tree follows changes on disk immediately.
Sync, without touching your code.
MDTree recognises every git project, even inside a folder full of projects, and shows what has changed. If the project is on GitHub, one button syncs your notes.
Commit
MDTree commits the changed notes. Only Markdown. Never code or other work in progress.
Pull
It fetches what's new on GitHub in the meantime and merges it.
Push
Your notes go to GitHub. A project without a GitHub remote simply gets a local commit.
If something conflicts, MDTree stops. It puts everything back the way it was and explains in plain words what's going on. You resolve the conflict in your own git tool or in the Terminal.
MDTree has its own git engine on board and syncs over HTTPS; the git on your Mac isn't needed. You sign in once with a GitHub personal access token. It stays in your Mac's keychain, and MDTree never asks for your GitHub password. Projects with an SSH remote work too. If you'd rather not think about it, the project of the open note syncs automatically, every 5, 15 or 60 minutes.
For those who want more.
Reading, writing and finding is free, without limits. With MDTree Pro you sync with GitHub, look at every earlier version of a note and export to HTML.
| Feature | Free | Pro |
|---|---|---|
| Folders and the treeAs many folders as you like, each with its own colour | ✓ | ✓ |
| All notes per folder | ✓ | ✓ |
| Writing with live previewEditor, tasks, daily note, Inbox, typewriter mode | ✓ | ✓ |
| Search, quick open, tags, favourites and links | ✓ | ✓ |
| Recognise git projects and see what changed | ✓ | ✓ |
| Sync with GitHubCommit, pull and push with one button, or automatically | – | ✓ |
| History per noteEarlier versions, diffs and undoing changes | – | ✓ |
| Export as HTML | – | ✓ |
MDTree Pro
GitHub sync, the history of every note and HTML export. You choose how to pay.
- The free version keeps working in full
- Purchases go through the Mac App Store
- Restore an earlier purchase inside the app
Prices in euro, VAT included. Prices may vary by country.
A real Mac app. With real files.
Because MDTree is native, it responds instantly, even with hundreds of notes. And your notes stay plain files in your own folders.
| What | Time |
|---|---|
| Scan all projects | 0.2 s |
| Build the search index for the first time | 0.2 s |
| Git status of all 31 projects | 0.25 s |
| Expand a folder | 35 ms |
| Open a note | 60 ms |
| Keystroke in the editor | 0.4 ms |
Measured on 13 September 2026 on a MacBook Air with M3 chip and 24 GB of memory, with a folder of 31 git projects and 374 notes.
- No import, no own format, no account.
MDTree works with the files where they are now. Stop using MDTree and they simply stay where they were.
- No cloud of its own.
Your notes, their names and their paths never leave your Mac through MDTree. The only network traffic is with GitHub, to sign in and when you sync.
- Anonymous statistics, off by default.
Only if you switch them on in Settings › General does the app share which features are used and rough counts, never the contents of notes. Read the privacy policy.
- In Apple's sandbox.
MDTree only opens the folders you choose yourself, and only reads
.md,.markdown,.mdownand.mdx.
Follows your Mac.
For anyone with more notes than one folder can hold.
Developers and indie makers
Dozens of projects full of READMEs, plans, decisions and briefings. One tree, only the notes.
Anyone working with AI coding assistants
They produce more and more Markdown, scattered across your projects. MDTree brings it together and finds it again.
Anyone who keeps notes as plain files
No vault, no database, no proprietary format. Your .md files stay yours.
Good to know.
Do I have to import my notes?
Do I need GitHub?
Do I have to give MDTree my GitHub password?
Do I need git on my Mac?
Does my code go along when I sync?
What if there's a conflict?
Which files does MDTree read?
.md, .markdown, .mdown and .mdx. In git projects it skips whatever .gitignore excludes.