HorseMD: a tabbed, file-tree Markdown editor that fixes the one thing Typora got backwards
A free Typora alternative, and then some — tabs + file-tree + WYSIWYG Markdown editor for Windows, macOS & Linux | 免费的 Typora 平替:标签页 + 文件树 + 所见即所得
At a glance
- What is it?
- HorseMD is an MIT WYSIWYG Markdown editor for Windows, macOS and Linux, built on Milkdown. Its core idea is that every file opens as a tab in one window, with a folder file tree beside it, rather than a new program per document.
- Who is it for?
- Choose HorseMD if you want WYSIWYG Markdown editing with a genuine single-window workflow, a folder file tree and a tab per document across Windows, macOS and Linux, and you prefer an open-source, MIT-licensed tool over a paid closed one: the Milkdown-based in-place editing plus the tabbed file-tree workspace are its reason to exist.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 12 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
One window, a file tree, and tabs per document
HorseMD is a WYSIWYG Markdown editor positioned as a more comfortable Typora alternative, and its central idea is a specific correction. The README says Typora does one thing backwards: it opens each file as a new program instance rather than a tab. HorseMD instead puts the whole folder in one window, browsing it through a left-side file tree, with each open document a tab you switch between, all in a clean live-preview editor.
The user is someone who works across many Markdown files in a folder, notes, docs, a wiki, and wants a real multi-file workflow without giving up WYSIWYG editing. The README frames the usual choice as either pretty WYSIWYG or a genuine multi-file workflow, and HorseMD's pitch is that you get both.
It is cross-platform, one codebase running on Windows, macOS and Linux, with a UI that toggles between Chinese and English live, and it is MIT licensed. The editing surface is built on Milkdown, which is a ProseMirror-based editor, so the live preview is a real rich-text editor over Markdown rather than a split raw-and-preview pane.
Milkdown editing with the features Typora users expect
The editing experience is built to match what Typora users rely on, then add the workspace HorseMD is really about. The README describes fluid WYSIWYG live preview where you type Markdown and it renders in place, a slash menu at the start of a line to insert blocks, smart lists, a selection toolbar, link hover tooltips, and tables, with the toolbar optionally hidden and formatting, review and conversion actions kept in a compact right-click submenu.
Building on Milkdown and ProseMirror is a sound choice for this, because ProseMirror gives a structured document model rather than a text buffer, which is what makes reliable in-place rendering and features like the slash menu and smart lists work. It is the same foundation many modern block editors use.
The workspace features, the file tree and tabs, are the reason to switch from Typora specifically. Typora is a well-liked editor whose single-document-per-window model is the friction HorseMD targets, and by keeping the whole folder in one window with tabs, HorseMD addresses exactly the complaint that a heavy note-taker would have. The bilingual live-switchable UI is a smaller but real differentiator for users who move between languages.
Getting the app across three platforms
HorseMD is distributed as prebuilt releases, and the README directs users to GitHub Releases for the current installers, noting that the development builds in the repository may be ahead of the latest formal release.
On macOS, because the app is not from the App Store, the README documents clearing the quarantine attribute if the system blocks it:
xattr -cr /Applications/HorseMD.appOn Debian-based Linux, the README installs the `.deb` and lets apt resolve dependencies:
sudo dpkg -i horse_x.x.x_amd64.deb
sudo apt-get install -fWindows users take the installer from Releases. The repository also lists a Gitee mirror for users in China and an `android/` directory in the tree, indicating mobile ambitions alongside the desktop app. Because the desktop app is cross-platform from one codebase, the same features and the same Chinese-English toggle are present regardless of platform.
The README's note that repository development builds can be newer than the latest release is worth heeding: for a stable experience take the Release installer, and only build or run development versions if you want the newest in-progress features and can tolerate rougher edges.
The limitations: a young editor against a mature incumbent
The honest limitation is maturity relative to what it competes with. Typora is a polished, long-established editor, and HorseMD is a newer project explicitly modeled as an alternative. The README's own caution that development builds may be ahead of releases, and that the current release is the reference, signals a project still moving quickly, which for an everyday editor means expecting more change than from a settled tool.
The second consideration is that a WYSIWYG Markdown editor built on a rich-text model always has an edge case surface: complex Markdown, unusual embedded HTML, or very large documents are where in-place editors historically struggle, and any Milkdown/ProseMirror-based editor inherits that class of concern. HorseMD's feature list is strong, but a heavy user should test their own real documents, especially large or HTML-heavy ones, before switching wholesale.
There is also the ordinary trust question of an independent cross-platform desktop app: the macOS `xattr` step in the README exists because the builds are not notarized through the App Store, so users accept the app outside the platform's default gatekeeping, which is normal for open-source desktop software but worth knowing.
Against Typora or a plain-text Markdown editor
The direct comparison is Typora itself, the editor HorseMD is built to improve on. Typora is mature and refined but opens documents as separate windows and is a paid, closed-source app. HorseMD is open-source and MIT, free, and built around a single-window file tree with tabs, which is precisely the workflow difference it exists to offer. The trade is maturity: Typora has years of polish, HorseMD has the workflow you want but is younger.
The other alternative is a plain-text or split-pane Markdown editor, which shows raw Markdown and a preview side by side. That gives you full control over the source and no WYSIWYG surprises, but it is not the in-place editing experience HorseMD and Typora provide. Choose Typora if you are happy with its window-per-file model and want maximum polish. Choose a plain-text editor if you prefer editing raw Markdown directly. Choose HorseMD when you want WYSIWYG editing plus a genuine single-window, tabbed, file-tree workflow across Windows, macOS and Linux, and you value it being open-source and free.
MIT, release-based updates, and where to start
HorseMD is MIT, so it can be forked, adapted and redistributed with attribution, which for a desktop editor means the workflow you rely on is not tied to a vendor's pricing or continued goodwill. That is a concrete advantage over a closed, paid incumbent for anyone wary of depending on a proprietary tool for their notes.
Updates arrive as GitHub Releases, and the README is explicit that the repository's development builds can be newer than the latest release, so the maintenance choice is between stable releases and living on the development edge. The Gitee mirror keeps updates accessible for users who cannot reach GitHub easily.
The concrete first step is to install the current Release for your platform, taking the macOS `xattr -cr` step or the Linux `dpkg -i` plus `apt-get install -f` if needed, then open a real folder of your Markdown files and confirm the file-tree-plus-tabs workflow feels right. Test your largest or most complex documents in the Milkdown editor before committing, since in-place WYSIWYG editing is where a young editor is most likely to differ from a mature one, and that check is what tells you whether HorseMD fits your actual notes.
Editorial conclusion
Choose HorseMD if you want WYSIWYG Markdown editing with a genuine single-window workflow, a folder file tree and a tab per document across Windows, macOS and Linux, and you prefer an open-source, MIT-licensed tool over a paid closed one: the Milkdown-based in-place editing plus the tabbed file-tree workspace are its reason to exist. It is the wrong choice if you want the years of polish a mature editor like Typora has, or if you edit very large or HTML-heavy Markdown where in-place editors are weakest. Start by installing the current GitHub Release (using xattr -cr on macOS or dpkg -i plus apt-get install -f on Debian Linux if blocked), open a real folder of your files, and test your most complex documents before switching.
Frequently asked questions
How is HorseMD different from Typora?
The README says Typora opens each file as a new program instance, while HorseMD opens every file as a tab in one window with a left-side folder file tree. Both offer WYSIWYG live preview; HorseMD adds the single-window, tabbed multi-file workflow and is open-source and free.
Which platforms does HorseMD run on?
The README says one codebase runs on Windows, macOS and Linux, with a live-switchable Chinese and English UI. Installers are on GitHub Releases, with a Gitee mirror for users in China.
What editor engine does HorseMD use?
The README says the editor is based on Milkdown, which is built on ProseMirror, providing in-place live preview with a slash menu, smart lists, a selection toolbar, link tooltips and tables.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/bnd-1-horsemd)