software-mansion/enriched-markdown

Multiplatform Markdown-Based Rich Text Solution

Kotlin

1,075

986 commits

updated Sep 23, 2026

See the code

README

Enriched Markdown by Software Mansion

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

See the feature comparison table for a detailed breakdown of supported features per platform.

Packages

PlatformPackageREADME
React NativenpmReact Native
AndroidMaven CentralAndroid
iOSswift packageiOS

Quick start

React Native

yarn add react-native-enriched-markdown
import { EnrichedMarkdownText } from 'react-native-enriched-markdown';
import { Linking } from 'react-native';

<EnrichedMarkdownText
  markdown={"# Hello\n\nThis is **enriched** [markdown](https://commonmark.org)."}
  onLinkPress={({ url }) => Linking.openURL(url)}
/>

Android

dependencies {
  implementation("com.swmansion.enriched.markdown:compose:0.1.0")
}
import com.swmansion.enriched.markdown.compose.EnrichedMarkdownText
import com.swmansion.enriched.markdown.compose.MarkdownTheme

MarkdownTheme {
  EnrichedMarkdownText(
    markdown = "# Hello\n\nThis is **enriched** [markdown](https://commonmark.org).",
    onLinkPress = { 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](https://commonmark.org).")
  .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.

Software Mansion Logo

markdown
markdown-editor
react-native
rich-text
rich-text-editor
text-input

Contributors

(top 30 of 46)

hryhoriiK97

710 commits

eszlamczyk

114 commits

graszka22

48 commits

maksg

45 commits

software-mansion/enriched-markdown

Multiplatform Markdown-Based Rich Text Solution

Kotlin

1,075

986 commits

updated Sep 23, 2026

See the code

README

Enriched Markdown by Software Mansion

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

See the feature comparison table for a detailed breakdown of supported features per platform.

Packages

PlatformPackageREADME
React NativenpmReact Native
AndroidMaven CentralAndroid
iOSswift packageiOS

Quick start

React Native

yarn add react-native-enriched-markdown
import { EnrichedMarkdownText } from 'react-native-enriched-markdown';
import { Linking } from 'react-native';

<EnrichedMarkdownText
  markdown={"# Hello\n\nThis is **enriched** [markdown](https://commonmark.org)."}
  onLinkPress={({ url }) => Linking.openURL(url)}
/>

Android

dependencies {
  implementation("com.swmansion.enriched.markdown:compose:0.1.0")
}
import com.swmansion.enriched.markdown.compose.EnrichedMarkdownText
import com.swmansion.enriched.markdown.compose.MarkdownTheme

MarkdownTheme {
  EnrichedMarkdownText(
    markdown = "# Hello\n\nThis is **enriched** [markdown](https://commonmark.org).",
    onLinkPress = { 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](https://commonmark.org).")
  .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.

Software Mansion Logo

markdown
markdown-editor
react-native
rich-text
rich-text-editor
text-input

Contributors

(top 30 of 46)

hryhoriiK97

710 commits

eszlamczyk

114 commits

graszka22

48 commits

maksg

45 commits

Languages

Kotlin

31.5%

Swift

18.4%

Objective-C

16.1%

TypeScript

13.0%

Objective-C++

10.7%

C

6.0%

C++

2.6%