software-mansion/enriched-markdown
Multiplatform Markdown-Based Rich Text Solution
About software-mansion/enriched-markdown
software-mansion/enriched-markdown is an open-source project on GitHub, mainly written in Kotlin. Multiplatform Markdown-Based Rich Text Solution It currently holds 1,210 stars and 104 forks with 87 open issues, and was last pushed on 2026-10-10 (repository created 2025-10-16).
Project Overview
Git Homed tracks it on the Today's Trending board, currently at rank #55 with 17 new stars today.
GitHub Repository Details
README
A multi-platform SDK for rendering Markdown as native text and editing rich text with Markdown output. Ships as a React Native library with iOS, Android, macOS, and Web support, plus standalone native SDKs for iOS (Swift) and Android (Kotlin).
Features
- Native text rendering — High-performance Markdown rendering built on platform text APIs (no WebView)
- Rich text input — Text input with Markdown output, inline formatting, headings, lists, links, and mentions
- Cross-platform — Consistent API across React Native (TypeScript), iOS (Swift), and Android (Kotlin)
- CommonMark & GFM — Full CommonMark compliance with GitHub Flavored Markdown extensions (tables, task lists, strikethrough)
- LaTeX math — Block and inline math rendering powered by RaTeX
- Markdown streaming — Real-time streaming support for AI/LLM chat interfaces
- Code syntax highlighting — Native syntax highlighting powered by tree-sitter
- Accessibility — VoiceOver on iOS, TalkBack on Android, semantic HTML on web
Packages
| Platform | Package | README |
|----------|---------|--------|
| React Native | | React Native |
| Android |
| Android |
| iOS |
| iOS |
Quick start
React Native
yarn add react-native-enriched-markdown
import { EnrichedMarkdownText } from 'react-native-enriched-markdown';
import { Linking } from 'react-native';
Linking.openURL(url)}
/>
Android
dependencies {
implementation("com.swmansion.enriched.markdown:compose:0.2.0")
}
import com.swmansion.enriched.markdown.compose.EnrichedMarkdownText
EnrichedMarkdownText(
markdown = "# Hello\n\nThis is enriched markdown.",
onLinkClick = { url -> / open url / },
)
iOS
dependencies: [
.package(
url: "https://github.com/software-mansion-labs/enriched-markdown-ios.git",
from: "0.1.0"
),
]
import EnrichedMarkdown
import SwiftUI
EnrichedMarkdownText("# Hello\n\nThis is enriched markdown.")
.onLinkPress { url in
UIApplication.shared.open(url)
}
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
Enriched Markdown is licensed under The MIT License.
---
Built by Software Mansion.