awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
facebook avatar

facebook/lexical

0
View on GitHub↗
lexical.dev↗

Lexical

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 time using shared data models and conflict resolution.

The toolkit covers a broad range of capabilities, including the development of block-based editing workflows, chat composers, and rich input fields. It provides tools for web content management through the serialization of state to JSON, HTML, and Markdown, as well as a DOM-based text processor that maps internal state to browser selection ranges.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Rich Text Editors - Provides a modular framework for building extensible rich text editors with accessibility compliance and structured document models.
  • Rich-Text Frameworks - Offers a modular toolkit for building custom web-based text editors with a structured data model and accessibility compliance.
  • Document Serialization - Serializes rich-text editor documents into JSON, HTML, and Markdown formats for storage and transfer.
  • Modular Editor Frameworks - Offers a plugin system to extend editor behavior through specialized content nodes and runtime logic.
  • Real-time Collaborative Editors - Implements real-time collaborative editing by synchronizing editor state and tracking presence across multiple clients.
  • HTML to State Parsers - Parses HTML strings back into a structured editor format to restore external content.
  • State to HTML Converters - Transforms internal editor state into HTML strings for data transfer or rendering.
  • Content Node Transformers - Modifies the node tree during the update workflow to enforce specific document structures.
  • Plugin-Based Editor Frameworks - Provides a plugin-driven architecture that allows developers to extend core rendering and transformation logic through modular extensions.
  • Custom Node Definitions - Extends the data model by substituting core node classes with custom subclasses for specialized content.
  • Editor Capability Extensions - Offers a modular system to extend editor functionality via custom nodes, plugins, and toggleable configurations.
  • Composable Extension Bundles - Bundles configuration and runtime behavior into reusable units that define node sets and dependencies.
  • Modular Feature Architectures - Encapsulates node registration and behavior into modular units to simplify the addition of complex editor capabilities.
  • Node-Tree Data Models - Represents document content as a structured tree of specialized node classes for extensible content modeling.
  • Immutable State Patterns - Utilizes an immutable state model to maintain serializable snapshots and ensure predictable document transitions.
  • Plugin-Based Architectures - Employs a plugin-based architecture to encapsulate node registrations and runtime logic into modular units.
  • Accessibility Standards - Implements built-in support for WCAG standards to ensure the editor is accessible to all users.
  • Accessible UI Components - Develops text input interfaces with ARIA attributes and keyboard support for screen readers.
  • Command-Based Action Dispatchers - Provides a prioritized command system to coordinate complex editor behaviors through registered listeners.
  • Content Node Definitions - Creates specialized content types by extending base node classes to define custom rendering.
  • DOM-State Mapping Layers - Maps internal editor state to the browser DOM while managing content-editable elements and selection ranges.
  • Editor Command APIs - Provides programmatic APIs to execute prioritized editor commands for document and content manipulation.
  • Real-Time Collaborative Editing - Synchronizes document changes across multiple users in real time using shared state and conflict resolution.
  • Document State Management - Implements a system for tracking the immutable state and metadata of text ranges and atomic blocks.
  • Text Formatting Tools - Provides the ability to apply and toggle styles such as bold, italic, underline, and alignment to text nodes.
  • Buffered State Update Mechanisms - Modifies the document through a buffered update process that batches changes before committing.
  • Collaborative Editing Conflict Resolution - Supports real-time collaborative editing with synchronization and conflict resolution engines.
  • Collaborative Editing Engines - Integrates with collaborative editing engines to enable simultaneous multi-user document editing.
  • State-Driven Content Models - Implements a state-driven approach that maintains serializable immutable snapshots of document content for consistent updates.
  • Editor State Update Handlers - Modifies the editor state through batched updates or command listeners to synchronize changes.
  • Text Editor Initializations - Provides the core mechanism to connect the editor state model to a DOM element for creating a content-editable area.
  • Virtual DOM Diffing - Updates the browser DOM by diffing the internal state against the pending state to minimize mutations.
  • Editor Update Listeners - Triggers callback functions whenever the editor state changes to synchronize external UI.
  • Block-Based Editing Workflows - Supports a writing experience organized into movable content blocks with specialized shortcuts.
  • Rich Text Content Serialization - Converts rich text content between internal application states and formats like HTML or JSON.
  • Editor - Converts internal editor state into string formats for network transmission or persistent storage.
  • JSON Serializers - Converts the internal editor structure into a JSON representation for persistent storage and restoration.
  • Editor Element Property Sync - Synchronizes custom node attributes between peers to maintain consistency across collaborative sessions.
  • Rich Text Formatting Toolbars - Allows the creation of custom user interface toolbars to control and apply text formatting styles.
  • Editor Selection Mapping - Maps native browser selection ranges to internal editor positions, including support for the Shadow DOM.
  • State Change Triggers - Executes specific logic via triggers whenever the internal editor state is updated.
  • Structural Navigation - Allows traversing the document node hierarchy using familial relationships to locate specific content.
  • Chat Input Composers - Implements a lightweight input field optimized for conversational interfaces and real-time messaging.
  • Content Block Editors - Supports creating a writing experience where content is organized into movable blocks with slash-command shortcuts.
  • Editor Components - Provides a set of editor components that wrap APIs and plugins for modular assembly of the interface.
  • Editor State Listeners - Provides mechanisms to track real-time updates to the editor state to synchronize external UI components.
  • Rich Input Extensions - Provides a compact text field that supports basic formatting while maintaining the behavior of a standard input.
  • Selection Mapping Layers - Translates native browser DOM selection ranges into internal coordinates to decouple the view from the data model.
  • Update Batching - Implements update batching to group multiple document changes into single transactions for improved performance.
  • Content Insertion Utilities - Includes functions for programmatically injecting nodes or raw text at the current caret position.
  • Presence Tracking - Tracks and displays real-time user presence within shared documents using client identifiers.
  • Virtual DOM Reconciliation - Uses reconciliation strategies to diff internal state against the DOM and minimize browser mutations.
  • React Editors - Extensible text editor framework for React.
  • 富文本编辑器/Markdown编辑器/Markdown解析器 - Listed in the “富文本编辑器/Markdown编辑器/Markdown解析器” section of the Awesome Frontend awesome list.
23,562 stars·2,187 forks·TypeScript·MIT·71 views

Star history

Star history chart for facebook/lexicalStar history chart for facebook/lexical

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does facebook/lexical do?

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.

What are the main features of facebook/lexical?

The main features of facebook/lexical are: Rich Text Editors, Rich-Text Frameworks, Document Serialization, Modular Editor Frameworks, Real-time Collaborative Editors, HTML to State Parsers, State to HTML Converters, Content Node Transformers.

Which projects share features with facebook/lexical?

Projects with overlapping indexed features include: editablejs/editable — Editable is a modular framework for building custom web-based rich text editors. It provides a structured environment… yoopta-editor/yoopta-editor — Yoopta-Editor is a headless framework for building customizable block-based rich text editors. It utilizes a… ckeditor/ckeditor5 — CKEditor 5 is a modular rich text editor framework and JavaScript UI component used to build customizable visual… ianstormtaylor/slate — Slate is a customizable rich text editor framework that treats documents as a recursive tree of nodes. It functions as… onlyoffice/documentserver — ONLYOFFICE DocumentServer is a self-hosted online office suite that provides browser-based document, spreadsheet, and… prosemirror/prosemirror — ProseMirror is a rich text editor framework and collaborative editing engine designed for building semantic content…

Projects sharing features with Lexical

These projects share indexed features with Lexical. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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

    TypeScripteditablereact-editorrich-editor
    View on GitHub↗1,806
  • 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

    TypeScriptcontenteditableeditorhacktoberfest
    View on GitHub↗3,045
  • 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

    JavaScriptckeditorckeditor5contenteditable
    View on GitHub↗10,435
  • 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

    TypeScriptbrowsereditorframework
    View on GitHub↗31,698
Compare all 30 related projects→