awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Rich text editors

Ranking updated Jul 21, 2026

For rich text editor extensions, the strongest matches are heyscrumpy/tiptap (Tiptap is a headless, extensible framework built on ProseMirror), udecode/plate (Plate is a headless, plugin-based framework built on Slate) and milkdown/milkdown (Milkdown is a plugin-driven, headless rich text framework built). ueberdosis/tiptap and editablejs/editable round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Explore the best open-source rich text editor libraries. Compare top-rated projects by features and activity to find the best fit for your app.

Rich text editors

Find the best repos with AI.We'll search the best matching repositories with AI.
  • heyscrumpy/tiptapheyscrumpy avatar

    heyscrumpy/tiptap

    37,270View on GitHub↗

    Tiptap is a headless rich text editor framework and extensible WYSIWYG framework designed for building custom text editors. It functions as a high-level wrapper around the ProseMirror toolkit, separating core editing logic and state management from the user interface. The framework enables real-time collaborative editing through a synchronization system using conflict-free replicated data types. It also supports the integration of AI content generation to provide automated suggestions and content refinement directly within the editor. The system utilizes a plugin-based extension architecture

    Tiptap is a headless, extensible framework built on ProseMirror that provides a robust plugin architecture, collaborative editing capabilities, and full schema customization, making it a comprehensive solution for building custom rich text editors.

    TypeScriptCollaborative Editing FrameworksEditor Extension FrameworksEditor Plugins
    View on GitHub↗37,270
  • udecode/plateudecode avatar

    udecode/plate

    15,947View on GitHub↗

    Plate is a headless editor toolkit and framework designed for building custom rich text editing experiences. It provides a modular architecture that relies on a plugin-based system to manage document models, schema-driven node definitions, and state updates, allowing developers to assemble tailored content creation environments. The project distinguishes itself through a source-code injection pattern, where pre-built user interface templates and components are copied directly into the local project codebase. This approach ensures that developers maintain full control over the styling, markup,

    Plate is a headless, plugin-based framework built on Slate that provides the modular architecture, schema customization, and collaborative capabilities required to assemble a fully custom rich text editor.

    TypeScriptEditor PluginsHeadless Editor FrameworksRich-Text Frameworks
    View on GitHub↗15,947
  • milkdown/milkdownMilkdown avatar

    Milkdown/milkdown

    11,631View on GitHub↗

    Milkdown is a plugin-driven framework for building rich text editors that render and edit Markdown content in real time. It serves as an extensible rich text framework and a visual editor for Markdown documents, eliminating the need for a separate preview pane. The system is designed as a modular toolkit for creating customizable text editing experiences. It allows for the development of specialized editors with unique formatting rules and behaviors through a plugin-based extension model. The framework covers capabilities for markdown content management and the creation of visual editing int

    Milkdown is a plugin-driven, headless rich text framework built on ProseMirror that provides a modular architecture for creating custom WYSIWYG editors with native Markdown support.

    TypeScriptWYSIWYG EditorsMarkdown RenderersRich-Text Frameworks
    View on GitHub↗11,631
  • ueberdosis/tiptapueberdosis avatar

    ueberdosis/tiptap

    37,341View on GitHub↗

    Tiptap is a headless, modular framework designed for building custom rich-text editors. It provides a developer-focused abstraction layer over a structured document model, allowing for full control over the underlying schema through a plugin-based architecture. By separating document state management from the user interface, it enables the creation of tailored editing experiences that remain framework-agnostic. The project distinguishes itself through a robust collaborative engine that supports real-time multi-user editing, conflict resolution, and presence tracking. It integrates artificial

    Tiptap is a headless, modular framework that provides a robust plugin architecture, schema customization, and built-in collaborative editing, making it a flagship solution for building custom rich-text editors.

    TypeScriptCollaborative Editing FrameworksEditor PluginsHeadless Editor Frameworks
    View on GitHub↗37,341
  • editablejs/editableeditablejs avatar

    editablejs/editable

    1,806View on GitHub↗

    Editable is a modular framework for building custom web-based rich text editors. It provides a structured environment for managing complex document content, including support for structured data like lists and grids, while maintaining an immutable tree representation to ensure predictable state manipulation. The framework distinguishes itself through a collaborative engine that synchronizes document state across multiple users in real-time using operational transformation. It also features a plugin-based architecture that allows developers to intercept rendering and node behavior, enabling th

    Editable is a modular, headless framework designed for building custom rich text editors, featuring a plugin-based architecture, schema-driven content management, and built-in support for real-time collaborative editing.

    TypeScriptCollaborative Editing EnginesReal-Time Collaborative EditingRich-Text Frameworks
    View on GitHub↗1,806
  • quilljs/quillquilljs avatar

    quilljs/quill

    47,161View on GitHub↗

    Quill is a JavaScript rich text editor library used to build WYSIWYG web editors. It serves as a modular editor framework for creating browser-based document authoring tools with a customizable interface and document model. The system functions as a modular content editor, providing a plugin system to extend formatting and embedding capabilities. This allows for the development of specialized text editors through custom modules and formatting plugins. The library covers the implementation of visual content creation interfaces that render formatted text and media in real time. Its primary cap

    Quill is a modular rich text editor framework that provides a robust plugin architecture and a customizable document model, making it a strong choice for building integrated web-based authoring tools.

    TypeScriptEditor Extension FrameworksWYSIWYG EditorsModular Editor Frameworks
    View on GitHub↗47,161
  • prosemirror/prosemirrorProseMirror avatar

    ProseMirror/prosemirror

    8,690View on GitHub↗

    ProseMirror is a rich text editor framework and collaborative editing engine designed for building semantic content editors. It provides a toolkit for creating text interfaces where document structure is governed by a declarative, schema-driven model. The framework enables the development of editors that treat text as structured data rather than simple HTML, ensuring that document content remains semantically consistent through a strict schema. This architecture supports real-time collaborative editing to synchronize document changes across multiple users.

    ProseMirror is a robust, schema-driven framework designed specifically for building custom rich text editors, offering a headless core, plugin architecture, and built-in support for collaborative editing.

    JavaScriptCollaborative Editing EnginesReal-Time Collaborative Editing
    View on GitHub↗8,690
  • facebook/lexicalfacebook avatar

    facebook/lexical

    23,562View on GitHub↗

    Lexical is a modular rich text editor framework used to build extensible web-based editors. It functions as a state-driven content editor that maintains a serializable, immutable snapshot of document content to ensure predictable updates and accessibility compliance. The framework is distinguished by its plugin-based architecture and customizable node framework, which allow developers to extend editor behavior through specialized content nodes and encapsulated runtime logic. It also includes a collaborative editing engine capable of synchronizing document state across multiple clients in real

    Lexical is a modular, headless rich text editor framework that provides a robust plugin architecture, schema customization, and built-in support for collaborative editing, making it a comprehensive solution for building custom web-based editors.

    TypeScriptCollaborative Editing EnginesModular Editor FrameworksEditor Components
    View on GitHub↗23,562
  • codex-team/editor.jscodex-team avatar

    codex-team/editor.js

    31,528View on GitHub↗

    Editor.js is a block-style rich text editor that organizes document content into an ordered array of independent, modular data objects. By replacing monolithic HTML strings with a structured, machine-readable JSON format, it decouples the content creation process from the final presentation layer. The editor functions as a browser-based orchestration layer that manages user input, focus, and state synchronization across individual blocks. Its architecture is built on a plugin-driven system where external modules register themselves to handle specific content types, providing custom rendering

    Editor.js is a modular, block-based rich text editor framework that provides a headless core, a robust plugin architecture, and structured JSON output, making it a perfect fit for developers building extensible editing interfaces.

    TypeScriptEditor Plugins
    View on GitHub↗31,528
  • ckeditor/ckeditor5ckeditor avatar

    ckeditor/ckeditor5

    10,435View on GitHub↗

    CKEditor 5 is a modular rich text editor framework and JavaScript UI component used to build customizable visual editors. It serves as a system for generating HTML or Markdown content, providing both full rich-text editor components and restricted inline editor components for web applications. The framework includes a collaborative editing engine for real-time simultaneous editing, change tracking, and threaded commenting. It features an AI text assistant for polishing, rewriting, and generating content, as well as a document export engine that transforms rich text into PDF and Word files. T

    CKEditor 5 is a modular, headless-capable rich text framework that provides a comprehensive plugin architecture, WYSIWYG interface, markdown support, and built-in collaborative editing, making it a flagship solution for this category.

    JavaScriptDocument ModelsCollaborative Editing EnginesReal-Time Collaborative Editing
    View on GitHub↗10,435
  • toeverything/blocksuitetoeverything avatar

    toeverything/blocksuite

    5,544View on GitHub↗

    BlockSuite is a collaborative block editor framework built on a hierarchical block tree data model with CRDT-based state synchronization for real-time multi-user editing. It provides an extensible block component system, allowing developers to define custom block types through declarative schemas, services, and rendering components. The editor is packaged as cross-framework web components, making it embeddable in any JavaScript environment. The framework distinguishes itself with a command-driven editing pipeline that composes type-safe editing actions with dynamic context sharing and control

    BlockSuite is a highly modular, block-based editing framework that provides a headless core, CRDT-based collaborative capabilities, and a schema-driven architecture designed specifically for integration into web applications.

    TypeScriptCustom Block DefinitionsReal-Time Collaborative Editing
    View on GitHub↗5,544
  • ianstormtaylor/slateianstormtaylor avatar

    ianstormtaylor/slate

    31,698View on GitHub↗

    Slate is a customizable rich text editor framework that treats documents as a recursive tree of nodes. It functions as a schema-based, state-driven system designed to enforce structural constraints and manage nested components within a structured document model. The framework utilizes a plugin-based architecture to extend editor functionality, allowing for the injection of custom logic into the rendering and transformation pipeline. It supports real-time collaborative editing by synchronizing document operations across multiple users. The system covers a broad range of capabilities, includin

    Slate is a highly modular, schema-driven framework designed specifically for building custom rich text editors, offering a headless core, plugin architecture, and support for collaborative editing.

    TypeScriptCollaborative Editing Frameworks
    View on GitHub↗31,698
  • yoopta-editor/yoopta-editoryoopta-editor avatar

    yoopta-editor/Yoopta-Editor

    3,045View on GitHub↗

    Yoopta-Editor is a headless framework for building customizable block-based rich text editors. It utilizes a JSON-based document engine to manage editor state and provides a WYSIWYG interface for creating structured documents. The system separates core document logic from the visual layer, allowing for complete customization of the user interface. The framework is designed for real-time collaborative editing, featuring a synchronization engine with conflict resolution and remote cursor presence tracking. It offers a highly extensible plugin system that allows developers to define new content

    Yoopta-Editor is a headless, block-based framework designed for building custom rich text editors, offering a robust plugin architecture, collaborative editing capabilities, and a JSON-based schema that aligns perfectly with your requirements.

    TypeScriptCustom Block DefinitionsEditor PluginsReal-Time Collaborative Editing
    View on GitHub↗3,045
  • slab/quillslab avatar

    slab/quill

    47,157View on GitHub↗

    Quill is a modular, web-based rich text editor designed for structured content authoring. It provides a comprehensive toolkit for building tailored editing experiences, allowing developers to manage document state, handle user input, and synchronize content through a predictable, serializable data model. The editor distinguishes itself through a custom document abstraction that maps the browser DOM to a structured tree of nodes, ensuring consistent behavior across different environments. It utilizes an operational change tracking system that represents all document modifications as a sequence

    Quill is a modular, extensible rich text editor framework that provides a robust plugin architecture and a headless core for building custom WYSIWYG experiences, though it lacks native collaborative editing capabilities out of the box.

    TypeScriptDocument ModelsEditor Extension FrameworksDocument Object Models
    View on GitHub↗47,157
  • react-page/react-pagereact-page avatar

    react-page/react-page

    9,551View on GitHub↗

    react-page is a browser-based visual content editor and schema-driven page builder developed with React and TypeScript. It provides a framework for creating web pages through a what-you-see-is-what-you-get interface, utilizing a responsive twelve-column grid engine for arranging elements via drag-and-drop manipulation. The system features a plugin-based architecture that allows for the integration of custom components. These components are managed through a schema-driven system that automatically generates data entry forms based on predefined property definitions, separating the rendering vie

    This is a modular, schema-driven visual editor framework for React that provides a plugin-based architecture and WYSIWYG interface, making it a strong fit for building extensible content editing experiences.

    TypeScriptEditor Extension FrameworksWYSIWYG Editors
    View on GitHub↗9,551
  • tinymce/tinymcetinymce avatar

    tinymce/tinymce

    16,214View on GitHub↗

    TinyMCE is a JavaScript rich text editor and WYSIWYG HTML editor that provides a visual interface for creating and formatting content within web applications. It functions as an extensible editor framework and web content management UI, allowing users to author and style documents through a browser-based interface. The project is distinguished by a plugin-based extension system and a public API that enable the addition of custom capabilities and modifications to the visual interface. It utilizes a framework-agnostic core, providing dedicated integration for React, Vue, and Angular. The syste

    TinyMCE is a robust, plugin-based rich text editor framework that provides a highly extensible WYSIWYG interface and framework-agnostic integration, though it lacks native collaborative editing capabilities out of the box.

    TypeScriptEditor Extension FrameworksWYSIWYG Editors
    View on GitHub↗16,214
  • jakiestfu/medium.jsjakiestfu avatar

    jakiestfu/Medium.js

    4,380View on GitHub↗

    Medium.js is a JavaScript rich text editor library and framework for building what-you-see-is-what-you-get editors. It acts as a lightweight wrapper for the browser contenteditable API, transforming standard elements into styled editors that support rich text formatting and semantic HTML output. The library functions as an HTML content sanitizer, stripping unwanted tags and attributes from typed or pasted content to maintain clean markup. It provides a system for implementing custom keyboard interactions and mapping shortcuts to trigger styling changes or element insertion. The framework cov

    Medium.js is a lightweight rich text editor library that provides a framework for building custom WYSIWYG interfaces by wrapping the browser's contenteditable API, though it lacks built-in collaborative editing and a formal plugin architecture.

    JavaScriptWYSIWYG EditorsContentEditable Wrappers
    View on GitHub↗4,380
  • jaredreich/pelljaredreich avatar

    jaredreich/pell

    12,054View on GitHub↗

    Pell is a JavaScript text editor library and browser-based rich text editor. It provides a lightweight WYSIWYG HTML editor for formatting styled text and outputting HTML directly within a web browser. The library is a dependency-free vanilla implementation that uses standard Web APIs. It allows for the definition of custom editor actions and text actions to extend the toolbar and the creation of custom visual themes to modify the editor appearance. The editor covers rich text editing and browser-based text formatting, including the application of bold, italic, headings, and lists. It also su

    Pell is a lightweight, dependency-free rich text editor that provides a WYSIWYG interface and basic extensibility through custom actions, making it a suitable choice for developers needing a minimal, embeddable editing component.

    JavaScriptWYSIWYG EditorsContentEditable Wrappers
    View on GitHub↗12,054
  • typecellos/blocknoteTypeCellOS avatar

    TypeCellOS/BlockNote

    9,141View on GitHub↗

    BlockNote is a block-based rich text editor and a real-time collaborative workspace. It uses a JSON-based data model to organize content into draggable, nestable blocks rather than a single flat document. The system functions as a high-level interface built on ProseMirror that abstracts document state into discrete, manipulatable content blocks. The project serves as a framework for integrating large language models into document editors, enabling context-aware text generation and AI-driven workflows. It also acts as a document export engine capable of converting structured block data into fo

    BlockNote is a block-based rich text editor framework built on ProseMirror that provides a modular, extensible architecture with built-in support for collaborative editing and structured content manipulation.

    TypeScriptCollaborative Editing FrameworksEditor Extensions
    View on GitHub↗9,141
  • basecamp/trixbasecamp avatar

    basecamp/trix

    19,970View on GitHub↗

    Trix is a rich text editor and WYSIWYG text component designed for composing and formatting documents with inline styling and block elements. It functions as an HTML content editor that manages and sanitizes input to ensure a secure and consistent document structure, while serving as a document state manager that tracks edit history and persists serialized state. The editor integrates directly with standard HTML forms, converting rich text into data for submission. It features a configurable sanitization engine that cleanses input HTML to remove unsupported tags and mitigate security risks.

    Trix is a robust WYSIWYG editor component that provides a reliable, secure foundation for rich text input, though it lacks the modular plugin architecture and built-in collaborative editing features found in more extensible framework-style editors.

    JavaScriptWYSIWYG EditorsContentEditable Wrappers
    View on GitHub↗19,970
  • wangeditor-team/wangeditorwangeditor-team avatar

    wangeditor-team/wangEditor

    18,351View on GitHub↗

    wangEditor is a JavaScript-based web rich text editor and WYSIWYG interface used for composing formatted documents directly in a browser. It serves as a client-side editing component for web applications to handle document styling and content manipulation. The editor is built as a plugin-based engine, allowing new features and formatting capabilities to be added through a registration interface. It utilizes a schema-driven approach to validate HTML tags and attributes, ensuring clean and consistent document output. The project provides tooling for content management systems, frontend text in

    This is a modular, plugin-based rich text editor that provides a WYSIWYG interface and schema-driven content management, making it a suitable framework for integration into web applications.

    TypeScriptWYSIWYG Editors
    View on GitHub↗18,351
  • red-axe/am-editorred-axe avatar

    red-axe/am-editor

    977View on GitHub↗

    This project is a framework for building real-time collaborative rich-text editing environments. It provides a structured, schema-based engine that enforces document integrity while allowing multiple users to modify content simultaneously through synchronized state management and conflict resolution protocols. The editor distinguishes itself through a highly modular plugin architecture that supports the integration of complex, interactive UI components built with external frontend libraries. By utilizing a custom rendering engine and a versioned, immutable document state tree, it enables deve

    This is a modular, schema-based framework designed for building collaborative rich-text editors, providing the headless core and plugin architecture necessary for custom web application integration.

    TypeScriptWYSIWYG EditorsReal-Time Collaborative Editing
    View on GitHub↗977
  • ory/editorory avatar

    ory/editor

    9,551View on GitHub↗

    This project is a customizable browser text editor and a schema-driven document framework designed for building React-based WYSIWYG content editors. It replaces standard text areas with a system that represents content as a structured data tree rather than flat HTML, allowing for precise manipulation and validation of documents. The framework serves as an extensible content management interface and a TypeScript UI component library. It enables the development of specialized authoring tools through a plugin system and the use of strongly typed building blocks to ensure consistency across docum

    This is a schema-driven, React-based framework designed specifically for building modular and extensible rich text editors, offering a plugin architecture and structured content model that fits the requirements for a headless-capable editing core.

    TypeScriptWYSIWYG Editors
    View on GitHub↗9,551
  • fex-team/ueditorfex-team avatar

    fex-team/ueditor

    6,765View on GitHub↗

    UEditor is a web-based WYSIWYG rich text editor and HTML content authoring tool. It functions as a DOM-based text component that allows users to create and format complex web documents through a visual interface with real-time rendering. The editor enables the creation of rich text content for web applications and content management systems. It manages document state using HTML strings, facilitating the serialization and transfer of data between the browser and server. The system provides capabilities for managing editor content and configuring behavioral parameters through initialization se

    UEditor is a mature, standalone WYSIWYG editor that provides a robust set of content authoring tools and configuration options, though it lacks the modern headless architecture and collaborative editing features found in newer framework-oriented alternatives.

    JavaScriptWYSIWYG Editors
    View on GitHub↗6,765
  • neilj/squireneilj avatar

    neilj/Squire

    4,902View on GitHub↗

    Squire is a DOM-based rich text editor and WYSIWYG content editor that treats raw HTML as the source of truth. It functions as a system for manipulating the document object model directly to provide a visual interface for editing complex web content. The project focuses on arbitrary HTML editing, allowing the modification of any HTML content without losing original formatting. It includes tools for HTML content normalization and sanitization to ensure that raw input is cleaned and structured consistently before being rendered as editable nodes. The editor's capability surface covers inline f

    Squire is a DOM-based rich text editor that provides a robust, headless-adjacent foundation for building custom editing interfaces, though it lacks built-in collaborative editing and a formal plugin architecture compared to more comprehensive frameworks.

    TypeScriptWYSIWYG Editors
    View on GitHub↗4,902
  • margox/braft-editormargox avatar

    margox/braft-editor

    4,591View on GitHub↗

    Braft Editor is a React-based rich text editor built on Draft.js that provides a framework for content creation and formatting. It functions as a reusable UI component that allows users to compose formatted documents in a WYSIWYG interface and export the resulting content as HTML strings. The project features built-in localization support for multiple languages, including Chinese, Japanese, and Korean. It provides a modular system for extending editor functionality through plugins, custom toolbar mappings, and specialized media entities. The editor covers a broad range of content capabilitie

    This is a React-based rich text editor framework that provides a modular plugin architecture and a WYSIWYG interface, making it a suitable choice for integrating content creation into web applications.

    JavaScriptWYSIWYG Editors
    View on GitHub↗4,591
  • alex-d/trumbowygAlex-D avatar

    Alex-D/Trumbowyg

    4,147View on GitHub↗

    Trumbowyg is a lightweight JavaScript WYSIWYG editor used to create and format rich-text and HTML content directly within a web browser. It serves as a client-side tool for generating semantic HTML markup and authoring web content. The project features a modular, plugin-based architecture that allows for the addition of new formatting commands and toolbar buttons. It provides a configurable interface where the toolbar layout can be customized via a predefined array and labels can be translated through localization files. The editor covers a wide range of content manipulation capabilities, in

    Trumbowyg is a lightweight, plugin-based WYSIWYG editor that provides a modular way to integrate rich text authoring into web applications, though it lacks native collaborative editing and a headless core.

    JavaScriptWYSIWYG Editors
    View on GitHub↗4,147
  • mycolorway/simditormycolorway avatar

    mycolorway/simditor

    5,006View on GitHub↗

    Simditor is a JavaScript-based rich text editor and WYSIWYG HTML editor designed for creating structured documents within web applications. It functions as a web-based media editor and HTML content sanitizer, allowing users to compose and format content visually. The project distinguishes itself through an integrated system for handling media and security. It features server-side image upload capabilities that support both local file selection and clipboard pasting, alongside a whitelist-based HTML markup filtering system to ensure consistent and secure output. The editor provides broad capa

    Simditor is a WYSIWYG rich text editor that provides a plugin-based architecture and media handling for web applications, though it lacks the modern headless core and collaborative editing features found in more advanced frameworks.

    JavaScriptWYSIWYG Editors
    View on GitHub↗5,006
  • yabwe/medium-editoryabwe avatar

    yabwe/medium-editor

    16,102View on GitHub↗

    This project is a browser-based JavaScript library that transforms standard web elements into inline, WYSIWYG rich text editing areas. It functions as a programmatic wrapper around the native browser content-editable attribute, providing a structured interface for managing text input, media embedding, and document formatting directly within existing page layouts. The editor is distinguished by its contextual floating toolbar, which dynamically appears based on user text selection to provide relevant formatting options. It utilizes a plugin-based architecture that allows developers to inject c

    This is a modular, plugin-based rich text editor library that provides a WYSIWYG interface and supports extensibility, making it a suitable framework for integrating editing capabilities into web applications.

    JavaScriptContentEditable Wrappers
    View on GitHub↗16,102
  • jpuri/react-draft-wysiwygjpuri avatar

    jpuri/react-draft-wysiwyg

    6,471View on GitHub↗

    This project is a rich text editor component for React applications that provides a visual interface for composing and formatting content. It functions as a DraftJS-based WYSIWYG editor, allowing users to create structured documents with inline styles and block types. The editor features a customizable toolbar interface for managing text alignment, lists, and media embeds. It includes a specialized input system for inserting emojis, hashtags, and user mentions as single deletable units. The project provides capabilities for transforming internal editor state into HTML, JSON, or Markdown form

    This is a React-based rich text editor component that provides a WYSIWYG interface and supports markdown conversion, though it functions as a pre-built component rather than a fully headless framework.

    JavaScriptWYSIWYG Editors
    View on GitHub↗6,471
  • hufe921/canvas-editorHufe921 avatar

    Hufe921/canvas-editor

    4,962View on GitHub↗

    This project is a plugin-based WYSIWYG document layout engine and rich text editor that uses Canvas and SVG for rendering. It functions as a collaborative editor utilizing conflict-free replicated data types to enable real-time synchronization across multiple users. The system serves as an interactive form builder, allowing for the embedding of input controls such as checkboxes and date pickers directly into documents. It is designed for high-fidelity output, ensuring the visual representation during editing matches the final format for PDF and image exports. The editor covers broad capabili

    This is a plugin-based rich text editor framework that provides a WYSIWYG interface, collaborative editing via CRDTs, and an extensible architecture for document layout, making it a strong candidate for web application integration.

    TypeScriptReal-Time Collaborative Editing
    View on GitHub↗4,962
  • sofish/pensofish avatar

    sofish/pen

    4,802View on GitHub↗

    Pen is a visual WYSIWYG markdown editor and live editing interface that converts markdown patterns into rich text elements in real-time. It serves as a tool for markdown content authoring and transforming editor state into standard markdown strings for export. The editor features a customizable text interface with a formatting toolbar for text-styling actions. It includes systems for hyperlink management and the automatic conversion of specific character sequences into structured headings, lists, blockquotes, and code blocks during the input process. The project provides capabilities for rea

    Pen is a lightweight, visual markdown-based rich text editor that provides a live editing interface and real-time conversion, though it functions more as a standalone editor component than a fully headless, modular framework.

    JavaScriptReal-Time Collaborative Editing
    View on GitHub↗4,802
  • facebookarchive/draft-jsfacebookarchive avatar

    facebookarchive/draft-js

    22,641View on GitHub↗

    Draft-js is a framework for building customizable rich text editors within React applications. It serves as a state manager for document content and metadata, providing a system to handle text ranges, atomic blocks, and the conversion of HTML strings into structured document formats. The framework enables the creation of interactive editing interfaces that support custom inline styling and configurable block rendering. It includes tools for managing rich media document handling, allowing the integration of non-editable content and metadata into a text stream. The project covers a broad range

    Draft-js is a React-based framework for building custom rich text editors that provides a headless core and schema customization, though it requires additional implementation for features like collaborative editing and markdown support.

    JavaScriptRich Text EditorsRich Text EditorsBlock-Based Document Models
    View on GitHub↗22,641
  • facebook/draft-jsfacebook avatar

    facebook/draft-js

    22,641View on GitHub↗

    Draft-js is a framework for building customizable rich text editors within React applications. It functions as a content editable framework that separates the underlying data model from the visual rendering layer, acting as a rich text content engine to manage complex text data and formatting. The project utilizes an immutable state management system to ensure consistent updates and predictable undo history. It manages editor state through persistent data structures, providing an immutable data state manager to prevent accidental mutation. The framework includes capabilities for high perform

    Draft.js is a React-based framework that provides a headless core and a robust data model for building custom rich text editors, though it requires additional implementation to achieve features like collaborative editing or built-in markdown support.

    JavaScriptRich Text EditorsContent Model AbstractionsControlled Components
    View on GitHub↗22,641
  • remirror/remirrorremirror avatar

    remirror/remirror

    3,029View on GitHub↗

    ProseMirror toolkit for React 🎉

    Remirror is a modular, React-based framework built on ProseMirror that provides a headless core, schema customization, and a robust plugin architecture for building custom rich text editors.

    TypeScriptRich Text Editors
    View on GitHub↗3,029
  • eigenpal/docx-editoreigenpal avatar

    eigenpal/docx-editor

    1,938View on GitHub↗

    This project is a document editing framework designed for web applications, providing a visual interface for modifying files while maintaining compatibility with standard document formats. It functions as both a browser-based rich text editor and a headless processing engine, allowing for the programmatic parsing, manipulation, and generation of document files in server-side environments. The framework distinguishes itself through its integration with external intelligence models, exposing document manipulation functions as standardized tool calls. This enables automated content generation, d

    This library provides a specialized WYSIWYG editor for .docx files built on ProseMirror, offering a headless core and real-time collaboration features suitable for integration into web applications.

    TypeScriptReal-Time Collaborative Editing
    View on GitHub↗1,938
  • mindmup/bootstrap-wysiwygmindmup avatar

    mindmup/bootstrap-wysiwyg

    5,515View on GitHub↗

    bootstrap-wysiwyg is a WYSIWYG HTML editor and browser-based content editor designed to integrate with the Bootstrap CSS framework. It provides a visual interface for creating and formatting rich text content that outputs HTML markup. The editor allows for custom text formatting workflows through the configuration of toolbars and keyboard shortcuts. Users can embed images via drag-and-drop and utilize a dedicated process to clean up redundant tags and whitespace in the generated markup.

    This is a lightweight WYSIWYG editor designed for Bootstrap integration, providing a browser-based interface for rich text editing that fits the category, though it lacks the advanced headless architecture and collaborative features found in more modern frameworks.

    HTMLRich Text EditorsRich Text WYSIWYG EditorsBootstrap UI Extensions
    View on GitHub↗5,515
  • outline/rich-markdown-editoroutline avatar

    outline/rich-markdown-editor

    2,934View on GitHub↗

    This project is a modular rich text editing component for React applications, built on the ProseMirror framework. It provides a visual interface for composing and formatting content using markdown, while maintaining a structured document model that serializes back into clean markdown code. The editor is designed for high extensibility, allowing developers to inject custom behaviors and formatting commands through a plugin-driven architecture. It supports granular control over the editing environment, including the ability to override default styles, localize interface text, and configure spec

    This is a modular, plugin-driven rich text editor built on ProseMirror that provides a WYSIWYG interface with markdown support, making it a strong choice for integrating into React-based web applications.

    TypeScriptMarkdown EditorsVisual Markdown EditorsEditor Plugins
    View on GitHub↗2,934
  • mdx-editor/editormdx-editor avatar

    mdx-editor/editor

    3,547View on GitHub↗

    This project is a React-based rich text editor designed for authoring and managing markdown documents through a visual interface. It functions as a modular framework that renders markdown in real-time, allowing users to create structured content without manual syntax entry. The editor is built on a plugin-based architecture that enables developers to extend functionality while maintaining minimal application bundle sizes. It provides a comprehensive command interface for programmatic content manipulation and utilizes reactive state management to ensure the visual editing surface remains synch

    This is a modular, plugin-based React editor framework built on Lexical that provides a WYSIWYG interface for markdown and MDX, making it a strong fit for developers needing an extensible rich text solution.

    TypeScriptMarkdown Authoring InterfacesMarkdown Abstract Syntax TreesMarkdown Editors
    View on GitHub↗3,547
  • andrewcoelho/react-text-editorandrewcoelho avatar

    andrewcoelho/react-text-editor

    230View on GitHub↗

    React rich text editor built using Draft.js. Similar to Facebook Notes editor

    This is a React-based rich text editor built on top of Draft.js that provides a WYSIWYG interface for web applications, though it lacks the modular plugin architecture and collaborative features found in more modern, headless frameworks.

    JavaScriptRich Text Editors
    View on GitHub↗230
  • bobbyquantum/ngx-editorbobbyquantum avatar

    bobbyquantum/ngx-editor

    3View on GitHub↗

    🖋️ Rich Text Editor for angular using ProseMirror

    This is a rich text editor framework built specifically for Angular that leverages ProseMirror to provide a modular, schema-driven editing experience suitable for integration into web applications.

    TypeScriptRich Text Editors
    View on GitHub↗3
  • fritx/react-editorfritx avatar

    fritx/react-editor

    55View on GitHub↗

    Pure Rich-text Editor with TS & React-hooks

    This is a React-based rich text editor that provides a core framework for building custom editing experiences, though it lacks the extensive plugin ecosystem and collaborative features found in more comprehensive solutions.

    TypeScriptRich Text Editors
    View on GitHub↗55
  • froala/wysiwyg-editorfroala avatar

    froala/wysiwyg-editor

    2View on GitHub↗

    Froala WYSIWYG HTML Editor is one of the most powerful JavaScript rich text editors ever.

    This is a feature-rich WYSIWYG editor that provides a robust plugin architecture and extensive customization options, though it functions primarily as a standalone component rather than a headless framework.

    CSSRich Text EditorsStandalone Editors
    View on GitHub↗2
  • summernote/summernotesummernote avatar

    summernote/summernote

    11,827View on GitHub↗

    Summernote is a JavaScript-based WYSIWYG rich text editor designed to transform standard web form elements into interactive document creation interfaces. It functions as an HTML5 text formatting tool that enables users to structure content, apply visual styles, and manage multimedia directly within a browser. The editor utilizes a modular architecture that allows for the registration of custom buttons and features at runtime. It manages document state through range-based selection tracking and event-driven synchronization, ensuring that formatting commands applied via the toolbar are accurate

    Summernote is a mature WYSIWYG editor that provides a plugin-based architecture and customizable UI for web applications, though it lacks native collaborative editing and a headless core compared to modern framework-agnostic alternatives.

    JavaScriptRich Text EditorsJavaScript Client LibrariesText Formatting Utilities
    View on GitHub↗11,827
  • sibiraj-s/ngx-editorsibiraj-s avatar

    sibiraj-s/ngx-editor

    500View on GitHub↗

    🖋️ Rich Text Editor for angular using ProseMirror

    This is a rich text editor built specifically for Angular that leverages ProseMirror to provide a modular, schema-based editing experience suitable for integration into web applications.

    TypeScriptAngular EditorsRich Text Editors
    View on GitHub↗500
  • alastairtaft/draft-js-editorAlastairTaft avatar

    AlastairTaft/draft-js-editor

    144View on GitHub↗

    A rich text editor built using draft js

    This is a rich text editor built on top of the Draft.js framework, providing a WYSIWYG interface and the extensibility inherent to the underlying library for web application integration.

    JavaScriptRich Text Editors
    View on GitHub↗144
  • technicults/armor-editortechnicults avatar

    technicults/armor-editor

    1View on GitHub↗

    Advanced rich text editor with premium armor-grade security, real-time collaboration, spell checking, track changes, and framework-agnostic design for React, Vue, Angular, Next.js, Nuxt.js

    This is a framework-agnostic rich text editor that provides a headless core, real-time collaboration, and integration support for major frontend frameworks, making it a suitable choice for building custom editing experiences.

    TypeScriptRich Text Editors
    View on GitHub↗1
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
heyscrumpy/tiptap37.3KTypeScriptMITJun 17, 2026
udecode/plate15.9KTypeScriptotherFeb 20, 2026
milkdown/milkdown11.6KTypeScriptMITJun 22, 2026
ueberdosis/tiptap37.3KTypeScriptMITJun 22, 2026
editablejs/editable1.8KTypeScriptApache-2.0Oct 15, 2024
quilljs/quill47.2KTypeScriptBSD-3-ClauseJul 25, 2025
prosemirror/prosemirror8.7KJavaScriptMITApr 1, 2026
facebook/lexical23.6KTypeScriptMITJun 23, 2026
codex-team/editor.js31.5KTypeScriptapache-2.0Feb 18, 2026
ckeditor/ckeditor510.4KJavaScriptNOASSERTIONJun 23, 2026

Related searches

  • Rich text editors
  • a rich-text editor framework for the browser
  • an open source rich text editor component
  • a browser extension for enhancing web functionality
  • a plugin for enhancing IDE developer productivity
  • a wysiwym markdown editor for web apps
  • Editors and their plugins
  • a markdown extension for text editors