For a library for styling text in applications, the strongest matches are ianstormtaylor/slate (Slate is a schema-based, plugin-driven rich text editor framework), prosemirror/prosemirror (ProseMirror is a rich text editor framework and collaborative) and ueberdosis/tiptap (Tiptap is a headless, extensible rich-text editor framework that). facebook/lexical and sofish/pen round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Discover the best open-source text styling engines. Compare top-rated libraries by features and activity to find the best fit for your project.
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 schema-based, plugin-driven rich text editor framework with built-in support for block-level formatting and real-time collaboration, making it an ideal component for embedding a customizable WYSIWYG editor into web applications.
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 rich text editor framework and collaborative editing engine that provides core capabilities for building WYSIWYG components with block-level formatting, plugins, and real-time collaboration, making it a strong foundation for this search.
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, extensible rich-text editor framework that provides full control over block-level and inline formatting, real‑time collaboration, and plugin‑based extensibility, making it an excellent fit for building custom WYSIWYG editing experiences in web applications.
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 rich text editor framework with a plugin architecture, collaborative editing, and support for custom nodes (including block-level formatting), giving you the foundational tools to build the kind of extensible WYSIWYG component this search is after.
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 self-contained WYSIWYG markdown editor that provides block-level formatting (headings, lists) and inline styling via a customizable toolbar, making it a genuine rich text component for web apps, though its feature set leans on markdown conversion rather than offering comprehensive paragraph alignment or extensibility out of the box.
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
yabwe/medium-editor is a JavaScript WYSIWYG library that transforms web elements into inline rich text editors with a floating toolbar and plugin architecture—directly fitting the search for a rich text component—but lacks built-in real-time collaboration and has limited markdown support.
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 JavaScript rich text editor library that provides block-level formatting (headings, alignment, indentation), inline styling, a customizable toolbar, and a plugin system for extensibility—exactly the WYSIWYG component you need for web applications, with plugin support for collaboration and markdown if required.
Vditor is a browser-based Markdown editor and rendering engine that supports multiple editing interfaces, including a visual rich-text experience, instant rendering, and a traditional side-by-side split-view preview. It serves as an authoring tool for technical documentation and a component for web-based editor integration. The project is distinguished by its support for complex technical content, utilizing specialized rendering for mathematical formulas, flowcharts, sequence diagrams, and mind maps. It also functions as a collaborative document review tool, enabling users to attach anchored
Vditor is a browser-based Markdown editor with a WYSIWYG mode, supporting block-level formatting and inline styling out of the box, and it can be embedded as a self-hostable component in web applications — exactly the kind of rich text editor the visitor needs, though it lacks built-in real-time collaboration and a plugin system.
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 WYSIWYG HTML editor that supports block-level formatting (headings, lists) and inline styling, with a customizable toolbar—it fits the search for an open-source rich text editor component, though it lacks real-time collaboration and markdown support.
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
Braft Editor is a React-based WYSIWYG rich text editor built on Draft.js that provides block-level formatting (headings, alignment, indentation) and inline styling, with plugin extensibility and a customizable toolbar—exactly the kind of component for embedding formatted text editing in web applications, though it lacks real-time collaboration and markdown support.
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 self-contained rich text editor that handles block and inline formatting for web forms, but it lacks out-of-the-box real-time collaboration and markdown support, and its extensibility is limited compared to more plugin-rich editors.
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 JavaScript library for building custom WYSIWYG editors on top of contentEditable, making it the right kind of component for integrating rich text editing into web applications — though it currently lacks built-in real-time collaboration and markdown support.
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 rich text editor library with collaborative editing and plugin extensibility for React and Vue, covering block formatting and custom toolbars, though markdown support isn't highlighted.
| Repository | Stars | Sprache | Lizenz | Letzter Push |
|---|---|---|---|---|
| ianstormtaylor/slate | 31.7K | TypeScript | MIT | |
| prosemirror/prosemirror | 8.7K | JavaScript | MIT | |
| ueberdosis/tiptap | 37.3K | TypeScript | MIT | |
| facebook/lexical | 23.6K | TypeScript | MIT | |
| sofish/pen | 4.8K | JavaScript | NOASSERTION | |
| yabwe/medium-editor | 16.1K | JavaScript | NOASSERTION | |
| quilljs/quill | 47.2K | TypeScript | BSD-3-Clause | |
| vanessa219/vditor | 11.1K | TypeScript | MIT | |
| jaredreich/pell | 12.1K | JavaScript | MIT | |
| margox/braft-editor | 4.6K | JavaScript | MIT |