30 open-source projects similar to ianstormtaylor/slate, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
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
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
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
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
CodeMirror is a browser-based code editor framework and modular extension system used to embed full-featured text editors into web pages. It functions as a syntax tree parsing engine and a language server protocol client, enabling structural language analysis and deep integration with external programming language services. The project is distinguished by its modular architecture, which uses a system of extensions and compartments for dynamic reconfiguration at runtime. It supports real-time collaborative editing and state synchronization through an operational transformation framework, allow
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 project is a plugin framework for the Draft.js rich text editor, providing a system to add custom behaviors, decorators, and keyboard shortcuts. It functions as a toolkit for extending the editor with advanced formatting and interactive elements, while also providing a React UI component library for managing toolbars and popups. The framework is distinguished by its specialized support for social mention systems, enabling the detection and formatting of hashtags and user mentions as interactive entities via autocomplete triggers. It also includes a comprehensive suite of rich media exten
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
Wagtail is an open-source content management system built on the Django web framework. It provides a structured, tree-based approach to content modeling, allowing developers to define custom page types and reusable content components that are managed through a highly customizable administrative interface. The platform distinguishes itself through its flexible, block-based content composition system, which enables editors to assemble complex page layouts dynamically. It also offers robust support for multi-site and multi-lingual environments, allowing organizations to manage distinct websites
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.
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 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
Rete is a framework for building interactive, node-based visual interfaces and dataflow programming environments. It provides a core engine that processes directed graphs, allowing developers to define modular logic where nodes represent operations and connections represent the flow of data or control. By decoupling the graph logic from the user interface, the framework enables the creation of custom visual editors that can be integrated into various frontend component libraries. The project distinguishes itself through a highly extensible, signal-driven architecture that supports complex req
Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer. The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime. Its capabilit
xi-editor is a high-performance text editor core written in Rust. It employs a client-server architecture that separates the backend editor logic from the user interface, allowing diverse frontends to communicate with the core via a standardized protocol. The project is distinguished by its use of rope-based text buffers for efficient manipulation of large documents and a collaborative engine powered by conflict-free replicated data types to synchronize concurrent edits. It further features an extensible plugin system that integrates external binaries and third-party tools through JSON-based
json-joy is a comprehensive library for building real-time collaborative applications and distributed systems. It provides a robust framework for managing shared JSON-like data structures that automatically merge concurrent edits from multiple users, ensuring consistent state across all replicas without requiring a central coordination server. The project distinguishes itself through a high-performance approach to data handling, utilizing conflict-free replicated data types and logical clock-based synchronization to maintain data integrity. It includes a specialized engine for navigating and
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
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.
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
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
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
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
This project is a JavaScript spreadsheet component and web-based data table that provides an interactive grid for managing tabular data. It functions as a cross-framework UI component compatible with React, Vue, and jQuery, and can also be embedded as a standalone web component. The grid is specifically designed for XLSX interoperability, allowing users to import and export XLSX files while preserving formulas and styles. It distinguishes itself through real-time collaboration for simultaneous multi-user editing and a flexible system for creating custom cell editors and specialized column typ
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
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
YYText is an iOS rich text framework used for rendering and editing complex attributed text. It features an asynchronous text rendering engine that calculates layout on background threads to maintain interface performance, alongside an attributed text serializer for converting rich text structures into storable formats. The framework provides specialized tools for non-rectangular text layout, allowing text to wrap around custom container paths and exclusion shapes. It also supports advanced typography requirements, including vertical text formatting for East Asian languages and the applicatio
Yjs is a CRDT framework and real-time state synchronization engine providing shared data types for collaborative software. It functions as a shared data type library of collaborative maps, arrays, and text structures that converge automatically across distributed clients, serving as a local-first data store and a collaborative editor backend. The system distinguishes itself through a synchronization engine that encodes document changes into commutative binary updates. It employs state-vector based differencing to transmit only missing incremental updates between peers and uses relative-positi
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
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