30 open-source projects similar to sofish/pen, 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.
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 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
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.
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
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
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
bootstrap-wysihtml5 is a rich text editor that integrates with the Bootstrap CSS framework to provide a visual interface for formatting HTML content. It functions as a localizable web editor and an HTML content parser that filters and validates tags and attributes to ensure clean content output. The project features a customizable rich text interface that allows for the modification of the toolbar and overall visual presentation through external stylesheets and HTML templates. It includes support for custom locale definitions and translated interface labels to accommodate international users.
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
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.
CKEditor 4 is a browser-based WYSIWYG rich text editor that enables users to create and format HTML content directly in the browser. It operates on a plugin-based architecture with a configurable toolbar system, DOM-based content editing, and an event-driven lifecycle, all delivered through a CDN-based distribution model. The editor supports skin-based theming and includes a legacy plugin compatibility layer for backward compatibility. The editor distinguishes itself as a cross-platform framework that integrates natively with Angular, React, Vue, Electron, Android, and iOS environments. It of
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
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
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
react-quill is a React component wrapper for the Quill rich text editor, providing a customizable WYSIWYG interface for creating and manipulating formatted semantic HTML content. It functions as a controlled component that manages the internal state and events of the editor within the React lifecycle. The project enables the definition of custom text formats and formatting schemas to support specialized styling or unique data structures. It features configurable toolbars and visual themes, allowing for the application of custom CSS and the specification of custom DOM elements for the editing
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
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
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
Liveblocks is a realtime collaboration infrastructure platform that synchronizes application state, documents, and user presence across multiple participants using conflict-free replicated data types. It provides a managed backend for collaborative text editors, threaded commenting and annotation systems, in-app notifications, and AI copilot deployment, all built on a WebSocket transport layer with server-side room management APIs. The platform distinguishes itself through a headless component primitive system that exposes unstyled React hooks and composable building blocks, allowing develope
vim.js is a professional modal text editor implementation designed for integration into web browsers and JavaScript-based applications. It emulates a Vim environment by providing modal editing workflows, keyboard shortcuts, and a state-machine-based input handler to toggle between command and insertion modes. The project enables the embedding of a full-featured text editor into host applications. It facilitates browser-based development by replicating the logic and memory management of a native text editor using JavaScript objects and functions. The editor includes capabilities for syntax hi
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
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
wxParse is a rich text parser and renderer specifically designed for the WeChat Mini Program ecosystem. It transforms standard HTML tags and Markdown syntax into native visual elements and compatible layouts. The system processes structured text strings into a repeating list of visual components and media links. It handles the conversion of complex text formats into formatted media and hyperlinks to ensure content displays correctly across mobile devices. The project manages content through regular expression-based parsing and schema-driven element mapping, translating identified content typ
mavonEditor is a markdown editor component for Vue applications that functions as a markdown-to-HTML converter and a visual text editor. It provides a synchronized preview and a writing interface that renders markdown content in real-time. The project includes a security layer that cleans HTML tags and attributes through sanitization to prevent the execution of malicious scripts in the browser. The editor supports technical documentation authoring with capabilities for mathematical notation, footnotes, automated tables of contents, and code syntax highlighting. It also includes a system for
Traven is a modular frontend library designed to embed professional-grade Markdown editing interfaces into web applications and standard HTML forms. It functions as a visual authoring component that renders Markdown as rich text, allowing users to write and format content through a live-preview interface while maintaining bidirectional synchronization with the underlying raw text. The editor distinguishes itself through a focus on performance and extensibility, utilizing virtualized viewport rendering to maintain responsiveness when handling massive documents. It supports a "what you see is w
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
This project provides a lightweight Markdown text editing component designed for integration into React applications. It offers a split-pane interface that allows users to author content in a raw text editor while simultaneously viewing a rendered preview, with synchronized scrolling to ensure the two views remain aligned during the writing process. The editor is built to be highly extensible, allowing developers to customize the interface by toggling specific toolbar buttons or preview areas. It supports a plugin-based architecture for custom parsing logic and provides a callback-driven work
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
PandaWiki is an AI-powered wiki and knowledge base platform that integrates large language models to automate content creation and information retrieval. It functions as a retrieval-augmented generation system for building technical wikis, FAQs, and documentation sites that provide automated answers grounded in a private knowledge base. The system acts as an enterprise knowledge bot, allowing the deployment of AI chatbots via web widgets and messaging applications like Discord. It further extends its operational capabilities by integrating with Model Context Protocol servers to connect the AI
react-ace is a React component wrapper for the Ace code editor, designed to embed feature-rich text editing and syntax highlighting into web applications. It provides a browser-based editor that applies language-specific coloring and formatting rules to source code and markup files. The project distinguishes itself through support for specialized keyboard interaction modes, including Vim and Emacs, as well as a side-by-side diff viewer for comparing different file versions. It also functions as a tool for code snippets and live autocompletions to accelerate text entry. The component covers a
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