30 open-source projects similar to rexxars/react-markdown, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best React Markdown alternative.
react-markdown is a React markdown renderer that transforms markdown strings into React elements for display in a user interface. It functions as a plugin-based markdown parser and component library that converts raw text into safe interface elements. The project utilizes a plugin system to extend markdown syntax, allowing support for tables, tasklists, and mathematical notation. It enables custom component mapping, which replaces standard markdown output with specialized components to control the visual styling and behavior of specific content blocks. The renderer supports the processing an
markdown-it is a token-based Markdown compiler and CommonMark-compliant parser that converts structured plaintext markup into HTML. It functions as an extensible markup processor designed to transform text into browser-ready content while managing security and preventing cross-site scripting. The project is distinguished by a modular plugin system that allows for the extension of parsing capabilities and the addition of custom syntax, such as footnotes, tables, or emojis. It utilizes a two-stage tokenization process to break documents into structural tokens before rendering them into final HT
Streamdown is a streaming markdown renderer for React that transforms incoming markdown text into sanitized HTML in real time, handling incomplete blocks as they arrive. It parses GitHub-Flavored Markdown syntax including tables, task lists, and footnotes, and renders LaTeX math expressions using KaTeX, Mermaid diagrams as interactive SVGs, and code blocks with Shiki-based syntax highlighting supporting over 200 languages with dual light and dark themes. The renderer includes an XSS-safe HTML sanitizer that strips dangerous tags and validates URLs to prevent injection attacks. What distinguis
Remarkable is an extensible Markdown parser library that implements the CommonMark specification and supports GitHub Flavored Markdown through configurable rule presets. Its core architecture separates parsing into distinct inline and block rule pipelines, enabling targeted customization of text-level and structural syntax while maintaining consistent behavior across standard Markdown features. The parser is built around a plugin-based rule system where individual syntax rules can be toggled, extended, or replaced by external plugins. A preset configuration system allows users to switch betwe
Remark is a markdown processor and transformer that converts markdown text into a structured JSON abstract syntax tree for programmatic manipulation. It functions as a plugin-based tool within the unified ecosystem, allowing users to parse, transform, and stringify markdown content. The project is distinguished by its extensibility through a plugin system that supports custom markdown syntax extensions, the introduction of new markup elements, and the definition of custom processing logic. This framework enables the modification of content through a visitor-pattern traversal of the syntax tre
swift-markdown-ui is a Swift rendering library that converts Markdown text into native user interface components. It functions as a declarative UI framework for transforming markdown syntax and structured content into native views, including tables, lists, and code blocks. The project features a type-safe domain-specific language that allows for the programmatic generation of rich text and structured documents instead of relying solely on raw strings. It also includes an environment-based theming system for applying global design themes and granular visual overrides across a view hierarchy.
Showdown is a JavaScript library designed to convert Markdown syntax into HTML markup. It functions as a processor for both client-side and server-side environments, transforming plain text into web-ready code suitable for rendering in browsers and digital applications. The project distinguishes itself through a plugin-driven architecture that allows for the injection of custom parsing rules. This extensibility enables developers to modify the standard conversion pipeline, supporting unique syntax patterns or specialized formatting requirements beyond the default implementation. Users can ma
Markdown Here is a browser extension that enables rich text composition within web-based editors that lack native formatting support. By transforming plain text markdown syntax into rendered HTML, it allows users to draft professional emails and documents using standard markup, including headers, tables, and footnotes, directly inside their browser. The tool distinguishes itself through a bidirectional transformation engine that supports both the conversion of markdown to HTML and the reversion of rendered content back into its original source code. This state-preserving functionality allows
DOMPurify is a security-focused library designed to sanitize untrusted HTML input, preventing cross-site scripting attacks by stripping malicious code while preserving safe content. It functions as a utility for secure document object model manipulation, ensuring that user-provided rich text can be rendered safely within web applications. The library distinguishes itself through a single-pass, mutation-observer-free processing model that operates on detached document fragments to avoid triggering unintended side effects. It employs recursive node traversal and context-aware logic to inspect a
Parsedown is a PHP library that converts Markdown text and common extensions into structured HTML output for web browsers. It functions as a Markdown to HTML converter that processes both block-level and inline elements to generate valid web content. The library includes a PHP HTML sanitizer designed to escape HTML and scripting vectors. This security layer provides input sanitization to prevent attacks when processing untrusted user-generated content.
This is an HTML sanitization library designed to remove dangerous tags and attributes from user-submitted HTML to prevent cross-site scripting attacks. It functions as a content filter that whitelists specific elements and attributes while escaping or discarding unauthorized markup. The project includes an HTML transformation engine that allows for the modification or replacement of tags and attributes using custom logic. It also features a CSS style validator to clean inline properties against permitted patterns and a system for resource URL validation to restrict hostnames and schemes. The
js-xss is an HTML XSS sanitizer and whitelist-based HTML filter designed to remove malicious code from untrusted HTML. It serves as a tool for cross-site scripting prevention and user-generated content management by cleaning HTML strings to ensure safe browser rendering. The library includes a CSS style validator to scrub inline styles against a whitelist and an HTML content purifier capable of stripping all tags to extract raw text. It allows for custom HTML filtering through the definition of specific rules and handler functions to control permitted elements and attributes. The tool covers
bluemonday is a Go library for scrubbing user-generated HTML content to prevent cross-site scripting and other injection attacks. It functions as an HTML policy engine and sanitizer that removes dangerous scripts and malicious tags by applying configurable element and attribute allowlists. The project distinguishes itself through a rule-based system that utilizes regular expressions and name-based lists to define permitted tags, attributes, and CSS styles. It includes a URL security validator that enforces safe protocols and automatically injects security attributes such as nofollow and noope
This project is a Python library and command-line tool designed to convert Markdown text and files into structured HTML fragments. It functions as a Markdown-to-HTML converter and parser that transforms piped text or source files into web-ready documents. The project is an extensible text processor featuring a pluggable API for defining custom inline and block syntax. This modular framework allows for the registration of specialized syntax extensions, such as tables and footnotes, and provides a system for managing runtime configuration settings. The conversion process covers multilingual te
Markdig is a markdown parser library that converts text into structured HTML, plain text, or other formats using a configurable pipeline. It functions as a CommonMark compliant parser and an abstract syntax tree generator that transforms markdown into a hierarchical tree of block and inline nodes with precise source location mapping. The project is distinguished by a decoupled renderer architecture that separates parsing logic from output generation, enabling the transformation of the syntax tree into non-HTML formats such as LaTeX or XAML. It also serves as a lossless markdown processor by t
This project is a document transformation pipeline that compiles Markdown files into executable JavaScript components. By integrating JSX directly into standard text documents, it enables the creation of interactive content that functions as a component-based engine for modern frontend applications. The system distinguishes itself through a unified, plugin-driven architecture that processes content by converting it into an abstract syntax tree. This allows for deep customization of the compilation logic, enabling developers to map standard Markdown elements to custom interface components, inj
Templ is a type-safe HTML templating engine and UI framework for Go. It provides a system for building reusable HTML components that compile into Go code for server-side rendering, ensuring type safety and compile-time validation of data and logic. The project features a dedicated language server that provides autocomplete and syntax validation for template files within supported code editors. It employs compile-time code generation to transform a custom template language into Go source code, enabling the creation of modular HTML fragments and logic blocks. The framework includes automated s
Grav is a flat-file content management system that eliminates the need for a traditional database by storing site content and configuration in human-readable Markdown and YAML files. Built as a modular PHP web framework, it uses a hierarchical page routing system where the physical directory structure directly determines the site's URL paths. The platform is distinguished by its event-driven plugin architecture and a command-line interface that prioritizes system administration, deployment, and maintenance tasks. It utilizes a blueprint-driven system to generate administrative forms from stru
This project is a browser extension that integrates large language model responses directly into search engine result pages. It functions as an AI search result integrator, embedding a customized interface within the browser to display generated answers alongside standard search results. The extension includes a markdown content renderer that converts raw AI text into formatted HTML, featuring syntax highlighting for code blocks and structured lists. Users can adjust the interface through customization settings for visual themes, language preferences, and the specific conditions that trigger
Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption
Snabbdom is a virtual DOM library and DOM diffing engine used to create and update user interfaces by synchronizing a virtual tree with the browser. It functions as a modular UI framework that provides a system for generating virtual nodes and transforming them into actual browser elements. The project features a modular architecture that separates core rendering logic from optional components. It includes a dedicated SVG rendering engine for managing scalable vector graphics within a virtualized document object model. The library covers a broad range of capabilities, including lifecycle hoo
This project is a Virtual DOM renderer, an engine that transforms virtual node trees into real DOM elements and updates them efficiently when the tree changes. Its core identity is focused on the rendering and reconciliation of virtual nodes, providing the foundational mechanism for building user interfaces. The renderer implements a patch-based DOM update system that applies targeted operations based on computed differences between virtual node trees. It supports fragment rendering for components with multiple root children, uses keyed child reconciliation to reuse and reorder elements durin
Inferno is a virtual DOM UI library and high-performance DOM renderer used for building component-based user interfaces. It functions as a server-side rendering engine and a client-side framework that synchronizes application state with the visual interface through a declarative structure. The project distinguishes itself as a React-compatible UI framework, providing a compatibility layer that allows components designed for other reactive environments to run without modification. Its capability surface covers virtual DOM management, including node diffing and reconciliation, and a full serve
This library provides a component-based solution for parsing and rendering markdown content directly within Angular applications. It functions as a bridge between raw markdown text and formatted HTML, enabling the display of dynamic content, remote documentation, and technical guides within a framework-native environment. The library distinguishes itself through a modular pipeline that allows for deep customization of the rendering process. Developers can override default HTML generation for specific elements, integrate third-party plugins for advanced syntax support, and manage the parsing l
The project provides a standardized abstract syntax tree specification and utility library for parsing, transforming, and serializing markdown documents. It serves as a comprehensive document processing architecture that translates between raw text markup and structured node representations in both directions. The capability surface covers syntax parsing for extended markdown features, custom syntax extensions, metadata blocks, and embedded expressions, alongside document serialization that converts syntax trees back into standard and extended markup formats. It includes node modeling and val
Seed is a frontend framework for building single-page applications using Rust and WebAssembly. It provides a virtual DOM rendering engine and a component-based UI library to construct modular, reusable interface elements. The framework implements a unidirectional data flow model based on the Elm architecture to ensure type-safe state management and predictable state transitions. It utilizes compile-time macros to transform declarative UI definitions into efficient instructions for the browser. The project covers a broad range of web capabilities, including application routing, content intern
Hyperapp is a lightweight JavaScript framework for building web applications. It functions as a declarative state management system that synchronizes the user interface with a centralized application state. The framework utilizes a virtual DOM to render user interfaces and reconcile changes to the browser display. It employs a subscription model to synchronize external web APIs and asynchronous events with the global state. The system manages data through a single-state-tree architecture, where updates are handled via discrete actions and pure functions. This approach ensures that the view u
This project is a minimal reproduction of the Vue 3 core logic, designed for studying the framework's internal source code. It implements a reactive state engine, a template compiler, a virtual DOM renderer, and a component lifecycle manager. The implementation uses proxies and effect schedulers to track data dependencies and trigger automatic interface updates. It features a template compiler that parses interpolation and text nodes to convert template syntax into renderable structures, alongside a virtual DOM system that transforms component definitions into a tree of elements. The system
render-markdown.nvim is a Neovim plugin that transforms raw markdown syntax into a visually formatted layout directly inside the editor. It acts as a component visualizer and syntax highlighter, replacing standard markdown elements with custom symbols, icons, and formatted blocks to improve document readability. The plugin provides a toggle between rendered visual layouts and raw text views, allowing users to switch based on their current needs. It also applies markdown styling to injected content sections found within non-markdown file types. The system covers the visualization of various d
This project is a technical breakdown and implementation of a user interface framework's internal architecture, focusing specifically on the mechanics of the virtual DOM, reconciliation, and component lifecycles. It serves as a resource for understanding how a core logic layer manages the transition from high-level component descriptions to physical browser elements. The project distinguishes itself by providing detailed visualizations, including flowcharts and block schemes, to map the reconciliation process and code execution paths. It explores how a platform-agnostic core can be adapted fo