AI Docs GitHub
FROM THE DEVELOPER

Traven Compared to
Other Editors

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


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 for your specific project.

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 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 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, Bard, Gutenberg)

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 bundles a very large feature surface (mind maps, ECharts, abcjs, voice, etc.) that's overkill if you only need core Markdown editing. 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.

Code Editors

Code editors are built for developers to write source code. They maintain virtual document buffers, support advanced text manipulation (like multi-cursors), and provide syntax highlighting for Markdown, but they do not render inline visual styling or rich media.

Feature Traven CodeMirror 6 & Monaco ACE Editor CodeJar
UX Goal Distraction-free Markdown editing Desktop-class code editing Desktop-class code editing Lightweight code snippets
Visuals WYSIWYM & Inline preview Plain text (Syntax-highlighted) Plain text (Syntax-highlighted) Plain text (Syntax-highlighted)
Toolbars Built-in (Floating/Static) None None None
Architecture High-level component Modular engine / Desktop port Monolithic engine Micro wrapper (<2KB)

Traven vs. Low-Level Engines (CodeMirror 6 & Monaco)

Monaco (the engine behind VS Code) and CodeMirror 6 are the industry standards for browser-based code editing.

Where they win

If you are building a developer-focused IDE, a developer playground, or need to support syntax highlighting for dozens of programming languages, these engines are unmatched.

Where the issues are

They are low-level layout engines, not user-facing editors. To make them usable for content authors, you must manually build toolbars, manage image upload APIs, configure formatting behavior, and implement live visual rendering.

Where Traven wins

Traven is built on top of CodeMirror 6. It configures the engine to behave as a seamless, visual document editor, saving you months of custom development.

Traven vs. Monolithic Code Editors (ACE Editor)

ACE is a mature, high-performance editor that has historically been used to embed code textareas in web interfaces.

Where it wins

Like Monaco, it is highly optimized for editing raw code blocks and has a massive library of keybindings and themes.

Where the issues are

ACE is a legacy monolithic library. It has poor mobile/virtual keyboard support compared to modern engines, lacks modular packages, and provides no built-in visual helpers (toolbars, inline formatting) for prose writing.

Where Traven wins

Traven is modular, mobile-first, and provides a polished WYSIWYM experience instead of a raw code input box.

Traven vs. Micro-Editors (CodeJar)

CodeJar is an extremely lightweight syntax-highlighting wrapper around HTML's native contenteditable behavior.

Where it wins

It is incredibly lightweight (< 2KB) and has zero dependencies. Perfect for simple inline code snippets or tiny CSS/JS inputs.

Where the issues are

It lacks an internal document model, making it unsuitable for large documents, complex keymaps (like Vim mode), or rich visual layouts.

Where Traven wins

Traven is built for production-grade, long-form content authoring, offering robust keymaps, document history, and visual media rendering.

Other Options

This comparison page doesn't cover everything. Some editors it doesn't include are abandoned repos (HyperMD, Toast UI Editor), others (like Froala) are strictly commercial and not good Markdown-options. But the ecosystem keeps growing. OverType is a new option which shares much of Traven's framework-agnostic philosophy, and which has on purpose decided to be ultra-minimalistic. Like Traven, it has zero peer dependencies and is a single file that works immediately. Also like Traven, integration is simple (no build tools), works as a <textarea>-replacement, and is easy to understand, modify, and extend. It doesn't do tables, image uploads, diagrams, or the kind of live WYSIWYM editing that Traven has, but for minimalistic simplicity (and if just a monospace font is enough) it is a valid alternative.

If you want comparisons with other options, reach out and we'll give them an honest developer-to-developer evaluation side by side. The more, the better: For a portable file format like Markdown, more editors means more freedom to choose the right tool for each job, and wider adoption.

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.