Docs GitHub
FROM THE DEVELOPER

Traven Compared to
Other Editors

I built Traven after trying other rich-text editors and not finding a good match. Traven is a Typora/Obsidian-like Markdown-first, WYSIWYM (What You See Is What You Mean) editor built on the CodeMirror 6 engine.


This is an honest, developer-to-developer comparison of what each editor is good at, where they fall short, where Traven wins, and where Traven might not be the right fit.

HTML-First Editors

HTML-first editors natively manage document state as DOM nodes or custom JSON trees (like Deltas) and output HTML. If your backend needs Markdown, you must rely on serializers to roundtrip the data, which can be brittle and can't always handle edge cases.

Feature Traven TinyMCE & CKEditor TipTap, ProseMirror, Lexical Trix
Output Raw Markdown HTML HTML / Custom JSON HTML
Style WYSIWYM WYSIWYG Framework (Build-it) WYSIWYG
License MIT Commercial / GPL MIT MIT

Traven vs. TinyMCE & CKEditor 5

These are the industry heavyweights. They have massive plugin ecosystems and aim to replicate Microsoft Word in the browser.

Where they win

If you need deep enterprise features (like collaborative track changes, native .docx imports, or advanced table cell merging), they are the standard.

Where the issues are

They are bloated, heavily opinionated, and use proprietary internal data models that make extracting pure Markdown a nightmare. Furthermore, their licensing has become hostile: TinyMCE requires an API key even for the free tier, and CKEditor forces a strict GPLv2+ or expensive commercial license.

Where Traven wins

Traven is lightweight, MIT licensed, and can be fully self-hosted or loaded from a CDN. It natively speaks Markdown.

Where Traven falls short

Traven is not a Microsoft Word clone. It does not have a 15-year-old marketplace of legacy enterprise plugins.

Traven vs. TipTap, ProseMirror & Lexical

Lexical (by Meta) and ProseMirror (the foundation of TipTap) are incredibly powerful headless frameworks.

Where they win

They are the absolute best choice if you are building a highly bespoke, collaborative Google Docs or Notion competitor from scratch, where every single keystroke is synced via CRDTs.

Where the issues are

They are frameworks, not editors. Building a functional editor with them can more often than not require a steep effort of wrestling with React components and custom JSON schemas.

Where Traven wins

Traven is a drop-in web component. You can add it to an HTML page in 30 seconds with zero build steps. If you then want to customize the look and feel, the toolbars and how they behave, add new buttons or custom shortcodes, all of that is built-in, fully supported and documented, and ready from the get-go.

Traven vs. Trix

Trix was built by Basecamp and is the default editor for the Ruby on Rails ecosystem (ActionText).

Where it wins

Unparalleled, out-of-the-box integration with Rails.

Where the issues are

It is stubbornly HTML-only. It forces its own opinionated HTML structure into your database and has absolutely zero support for Markdown.

Where Traven wins

Markdown-in, Markdown-out. Traven keeps your database clean and portable.

Block Editors

Block editors treat every paragraph, image, or list as a distinct data object (a "block"). This is the ideal choice when building a page of components, where some might need to be targeted dynamically such as in an ecommerce product listing. For handling 10,000 lines smoothly in a text editor, block editors are not great.

Feature Traven Editor.js BlockNote & Bard Gutenberg
Output Raw Markdown JSON JSON / HTML HTML (with comments)
Flow Continuous Text Discrete Blocks Discrete Blocks Discrete Blocks
License MIT MIT MIT / Commercial GPLv2

Traven vs. Block Editors (Editor.js, BlockNote, Gutenberg, Bard)

Editor.js is a beautiful vanilla JS block editor. BlockNote is a highly respected modern block editor built on TipTap. Bard is a stunning UI built for the Statamic CMS (though encumbered by commercial licensing). Gutenberg is the default WordPress editor.

Where they win

If you are building a structured CMS where the database absolutely requires separating content into discrete rows (e.g., storing an image block in a different database table than a text block), block editors are the right architectural choice.

Where the issues are

They disrupt the natural flow of writing. Forcing content into discrete blocks can make copy-pasting complex text frustrating and interrupt long-form authorship.

Where Traven wins

Traven provides a fluid, continuous writing experience where text is just text. It feels like writing a document, not assembling a form.

Where Traven falls short

Traven outputs a single continuous Markdown string. It won't hand you an array of strictly parsed JSON block objects out-of-the-box.

Markdown-First Editors

Markdown-first editors (the category Traven belongs to) treat plain text as the absolute source of truth. The document is always portable. When based on CodeMirror or a similar engine, there is no round-trip weirdness or brittle serialization.

Feature Traven EasyMDE & SimpleMDE Milkdown Vditor
Engine CodeMirror 6 CodeMirror 5 ProseMirror Custom
Style WYSIWYM (Inline),
Split as option
Split-Pane WYSIWYM WYSIWYM / Split
License MIT MIT MIT MIT

Traven vs. EasyMDE & SimpleMDE

EasyMDE (and its predecessor SimpleMDE) are the most common open-source Markdown editors.

Where they win

If you explicitly want the classic "source code on the left, rendered view on the right" split-pane layout, they do the job reliably.

Where the issues are

They rely on the legacy CodeMirror 5 engine and require external assets like FontAwesome. The split-pane layout increases cognitive load.

Where Traven wins

Traven uses the highly performant CodeMirror 6 engine, has zero peer dependencies, and renders formatting inline as you type, creating a much cleaner authoring environment.

Traven vs. Milkdown

Milkdown is a WYSIWYM Markdown editor similar to Traven, but built on top of ProseMirror.

Where it wins

Excellent out-of-the-box plugins and a plugin-driven architecture heavily tailored for React and Vue environments.

Where the issues are

Because Milkdown uses ProseMirror, it inherits an HTML-first internal document model. Your Markdown is parsed into an HTML AST, edited, and serialized back to Markdown. This translation roundtrip can introduce formatting artifacts and spacing issues in edge cases.

Where Traven wins

Traven is built directly on CodeMirror 6, which natively treats the document as a flat string of text. Traven eliminates the brittle Markdown-HTML-Markdown roundtrip entirely.

Traven vs. Vditor

Vditor is an extremely feature-rich Markdown editor that supports WYSIWYM, split-pane, and raw source modes. Of all the options on this comparison page, it is the editor that comes closest to Traven.

Where it wins

It does absolutely everything, including native rendering of mind maps, charts, and SVG.

Where the issues are

It is incredibly bloated, loading massive chunks of code to support features most users don't need. Furthermore, its documentation and community are primarily tailored to the Chinese ecosystem, creating a barrier for Western developers.

Where Traven wins

Traven is lightweight, rigorously documented in English, and focuses primarily on doing core Markdown exceptionally well rather than trying to be a kitchen sink. Some of the more common kitchen sink extras are also available, but as optionals you can lazy-load only when needed.

When to use Traven?

You should choose Traven if:

  • 1
    Your database or backend expects pure Markdown.
  • 2
    You want a seamless writing experience without split panes or discrete blocks.
  • 3
    You want an editor you can install with a single <script> tag.
  • 4
    You want to own your infrastructure without relying on third-party API keys.


You might skip Traven if:
you need real-time collaborative editing (choose ProseMirror/Lexical), you need Microsoft Word-level features like track changes and .docx import (choose TinyMCE/CKEditor), or you are building a strictly block-structured CMS (choose Editor.js/BlockNote/Gutenberg).

However: Traven is open source and MIT licensed, so you're free to build anything you want on top of it. If you extend Traven's capabilities, be a good human and share with others via a pull request on Traven's GitHub.