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.
If you need deep enterprise features (like collaborative track changes, native .docx imports, or advanced table cell merging), they are the standard.
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.
Traven is lightweight, MIT licensed, and can be fully self-hosted or loaded from a CDN. It natively speaks Markdown.
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.
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.
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.
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).
Unparalleled, out-of-the-box integration with Rails.
It is stubbornly HTML-only. It forces its own opinionated HTML structure into your database and has absolutely zero support for Markdown.
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.
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.
They disrupt the natural flow of writing. Forcing content into discrete blocks can make copy-pasting complex text frustrating and interrupt long-form authorship.
Traven provides a fluid, continuous writing experience where text is just text. It feels like writing a document, not assembling a form.
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.
If you explicitly want the classic "source code on the left, rendered view on the right" split-pane layout, they do the job reliably.
They rely on the legacy CodeMirror 5 engine and require external assets like FontAwesome. The split-pane layout increases cognitive load.
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.
Excellent out-of-the-box plugins and a plugin-driven architecture heavily tailored for React and Vue environments.
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.
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.
It does absolutely everything, including native rendering of mind maps, charts, and SVG.
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.
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:
-
1Your database or backend expects pure Markdown.
-
2You want a seamless writing experience without split panes or discrete blocks.
-
3You want an editor you can install with a single
<script>tag. -
4You 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.