Open-source project
drl990114/MarkFlowy avatar
drl990114/MarkFlowy

MarkFlowy review: a Tauri Markdown editor with WYSIWYG and built-in AI

A high-performance, cross-platform editor that supports WYSIWYG Markdown and general text editing.

2,394 stars94 forksTypeScriptAGPL-3.0

At a glance

What is it?
MarkFlowy is a cross-platform Markdown editor built on Tauri, React and ProseMirror, with WYSIWYG and source modes plus optional AI features. It is small and fast to open large files, but it is still labelled beta and the macOS build needs a manual workaround.
Who is it for?
MarkFlowy suits developers and writers who want a lightweight desktop Markdown editor with both WYSIWYG and source modes and who are comfortable with beta software. It is a poor fit if you need a proven, stable release, if you rely on x86 Linux or arm64 macOS without applying the xattr workaround, or if you need to audit the AI provider before connecting it.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly TypeScript, 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

What MarkFlowy is and who it is for

MarkFlowy is a desktop Markdown editor from drl990114, written primarily in TypeScript with a Rust side, and distributed for Windows, macOS and Linux. The README frames it as a lightweight, intelligent editor: the desktop build is based on Tauri and the author states it is under 20MB, which is the practical difference from Electron-based editors that ship a full browser runtime with every install.

The intended user is someone who edits Markdown files directly on disk and wants more than a plain text area. MarkFlowy offers multiple editing modes, including source code and WYSIWYG, and it also opens JSON, TXT and other file types. That combination points at developers who keep notes, README files and config files in the same folder tree, rather than at a team looking for a shared knowledge base.

The project is explicitly labelled beta in the README heading, and the README itself says it is "still in its infancy" and that there may be bad experiences or bugs. That is the author's own framing, and it should set expectations: version numbers are in the 0.100 range, and the release cadence is frequent.

ProseMirror, Tauri and the file tree: how editing actually works

The editor core is ProseMirror, which the README names as the basis for extensibility and the editing experience. ProseMirror models a document as a tree with a schema, not as a string, which is what makes a WYSIWYG mode possible alongside a source mode over the same file. The trade-off is that the schema has to understand every Markdown construct you use; anything outside it either degrades or falls back to raw text.

Around that core, the repository is a Yarn workspace monorepo. The root package.json declares workspaces for packages/*, apps/* and docs, and the Cargo workspace in Cargo.toml lists apps/desktop/src-tauri, crates/* and tools/*. So the TypeScript application and the Rust/Tauri shell are separate build targets that meet at the desktop app.

File management is a first-class part of the UI rather than a side panel bolted on. The README describes a file tree with drag-and-drop movement and global search. Image handling is configurable: pasting an image can either write it to a path you choose or embed it as base64. The base64 route keeps a document self-contained; the path route keeps the Markdown readable in other tools. MarkFlowy makes you pick, which is the honest design.

AI features are optional and provider-based. The README lists Copilot support, one-click export of dialogues, translation into any language, and article summaries, and names DeepSeek and ChatGPT as supported large models. The README does not document which endpoint or key handling applies to each provider, so treat the provider configuration as something to verify in the app rather than something the README settles.

Installing MarkFlowy on Windows, macOS and Linux

There is no package-manager install for the editor itself. The README points to the latest GitHub release and describes per-platform artifacts. On Windows you choose between an installer (`.exe` or `.msi`), an offline installer with the WebView2 runtime bundled, and a portable zip that needs no installation.

On macOS the README lists `MarkFlowy_v<version>_aarch64.dmg` for Apple silicon and `MarkFlowy_v<version>_x64.dmg` for Intel. The README warns that the aarch64 build cannot be opened directly because of Apple's restrictions on software without developer certification, and gives the workaround: open a terminal, go to the Applications directory, and clear the quarantine attribute.

bash
cd /Applications
xattr -cr MarkFlowy.app

After that, opening the app again should work. The README also says to make sure you downloaded from GitHub releases, which is the relevant warning if you found a copy elsewhere.

On Linux, x86_64 is the only architecture for now. Two routes are documented. Flatpak uses the flatpark remote:

sh
flatpak remote-add --if-not-exists flatpark https://dl.flatpark.org/flatpark.flatpakrepo
flatpak install flatpark io.github.drl990114.MarkFlowy

Alternatively, an install script picks the `.deb` or `.rpm` for your distribution, or the AppImage if it cannot identify the distribution:

sh
curl -fsSL https://raw.githubusercontent.com/drl990114/MarkFlowy/main/scripts/install-linux.sh -o install-linux.sh
sh install-linux.sh

The README documents `--appimage` to force the AppImage and `--uninstall` to remove MarkFlowy, and suggests `wget -O install-linux.sh <url>` when curl is unavailable. For a first real use, open the folder that holds your notes rather than a single file: the file tree and global search are the parts that distinguish MarkFlowy from a text editor, and they only appear once a directory is loaded.

Where MarkFlowy gets in the way

The most concrete limitation is platform coverage. Linux is x86_64 only, so arm64 Linux users have no documented install path. On macOS, the aarch64 build requires the `xattr -cr` step before it will open, which means every update can reintroduce the same friction unless the distribution changes.

The beta label is not cosmetic. The README asks users to file issues and pull requests and states that the current version may have bad experiences or bugs. For a personal notes folder that is tolerable; for a documentation pipeline where a corrupted save costs real work, it is a reason to keep a second editor installed and to keep your files under version control.

AI features deserve their own caution. They are described as built in, with DeepSeek and ChatGPT named, but the README does not document data handling for the content you send to a provider. If your Markdown contains anything confidential, the safe reading is that the AI features are opt-in and should stay off until you have checked what the app sends and where.

Finally, the performance claim needs context. The README says a 2 MB Markdown file opened in around 1 second in testing. That is a single figure from the project's own testing, with no hardware described, so it is a signal about the rebuilt editor rather than a number you can assume on your machine.

MarkFlowy compared with Typora and VS Code

The nearest comparison in kind is Typora, which also offers a single WYSIWYG surface for Markdown. The difference in approach is the runtime and the licence. Typora is a closed-source commercial application; MarkFlowy is AGPL-3.0 and its desktop shell is Tauri, which the README uses to argue for a sub-20MB install. If install size or source availability matters to you, that is the deciding axis, not the editing surface.

Against VS Code with a Markdown extension, the split is different again. VS Code gives you a general editor with a preview pane, an enormous extension ecosystem and a workspace model built for code. MarkFlowy gives you a dedicated Markdown application with a file tree, custom themes, custom keyboard shortcuts, image paste handling and built-in AI, and no extension marketplace to configure. If your Markdown lives inside a repository you already open in VS Code, adding a second application is often worse than installing one more extension. If your Markdown lives in a notes folder you open on its own, the dedicated app removes a lot of setup.

The repository also ships a community-themes.json at the top level and a docs directory, which suggests themes are meant to be shared rather than configured per machine. That is a small but real difference from editors where theming is a personal config file.

Licence, update cadence and the cost of tracking it

MarkFlowy is licensed AGPL-3.0. For individual use that is unremarkable. The obligation appears if you modify the code and let other people interact with it over a network, because the AGPL's network clause extends the source-availability requirement to that case. Running the official build for your own notes does not trigger anything. Distributing a modified build, or hosting a modified version, is where you need to read the licence text rather than this article.

The upgrade cost is tied to the release rhythm. Releases v0.100.0 and v0.100.1 landed on 2026-09-05 and 2026-09-06, and v0.101.0 on 2026-09-12. The last push to the repository was on 2026-09-13. Version numbers move in the 0.100 range, so there is no long-term support branch to sit on, and the changelog at CHANGELOG.md is the place to check what a given release changes before you update. The root package.json also exposes an `updater` script scoped to @markflowy/desktop, which indicates the desktop app has an update path, though the README does not document how in-app updates behave.

Building from source is a heavier commitment than installing a release. The monorepo expects Yarn workspaces and Turbo, with `yarn install` followed by `turbo build`, and the desktop build chains a Tauri build through `yarn workspace @markflowy/desktop tauri:build`. The CONTRIBUTING document under docs/en/Community is where the project says to start.

Editorial conclusion

MarkFlowy suits developers and writers who want a lightweight desktop Markdown editor with both WYSIWYG and source modes and who are comfortable with beta software. It is a poor fit if you need a proven, stable release, if you rely on x86 Linux or arm64 macOS without applying the xattr workaround, or if you need to audit the AI provider before connecting it. Before adopting it, check the latest release page for your platform's build, confirm the AGPL-3.0 terms against how you distribute anything derived from it, and open a 2 MB file to see whether the documented performance holds on your machine.

Frequently asked questions

What is the best Markdown writing software?

MarkFlowy is a cross-platform Markdown editor built on Tauri, React and ProseMirror, with WYSIWYG and source editing modes. The README describes it as lightweight, with a desktop build under 20MB, and it also opens JSON and TXT files.

What is the best free Markdown editor?

MarkFlowy is free and open source under AGPL-3.0, and the README describes it as lightweight, with a Tauri-based desktop build under 20MB. Whether it is the best fit depends on your platform: Linux support is x86_64 only and the macOS aarch64 build needs the documented xattr workaround before it opens.

What is the best Markdown editor for Windows 11?

MarkFlowy ships Windows x64 builds as an installer, an offline installer with the WebView2 runtime bundled, and a portable zip that needs no installation. The README does not state a minimum Windows version, so check the release page before assuming Windows 11 specifically.

What is the best Markdown editor for React?

The repository is a TypeScript monorepo with Yarn workspaces and a ProseMirror editor core, but the README does not document a public React component or embedding API. The documented routes are the desktop application, the web build target in package.json, and contributing through the CONTRIBUTING guide.

Official sources

  1. drl990114/MarkFlowy on GitHub
  2. License: AGPL-3.0
  3. Project website
  4. README
  5. Releases
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.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/drl990114-markflowy.svg)](https://hysenlabs.com/projects/drl990114-markflowy)