software-mansion-labs/react-native-enriched-markdown

Multiplatform Markdown-Based Rich Text Solution

1,016

stars

924

commits

Kotlin

primary language

Sep 9, 2026

updated

enriched.swmansion.com/markdown
markdown
markdown-editor
react-native
rich-text
rich-text-editor
text-input

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

Contributors

(top 30 of 40)

hryhoriiK97

702 commits

eszlamczyk

92 commits

graszka22

48 commits

maksg

27 commits

software-mansion-labs/react-native-enriched-markdown

Multiplatform Markdown-Based Rich Text Solution

1,016

stars

924

commits

Kotlin

primary language

Sep 9, 2026

updated

enriched.swmansion.com/markdown
markdown
markdown-editor
react-native
rich-text
rich-text-editor
text-input

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

Contributors

(top 30 of 40)

hryhoriiK97

702 commits

eszlamczyk

92 commits

graszka22

48 commits

maksg

27 commits

Languages

Kotlin

28.8%

Objective-C

18.2%

Swift

14.5%

TypeScript

14.4%

Objective-C++

12.1%

C

7.2%

C++

2.9%