Kotlin MIT

enriched-markdown

Multiplatform Markdown-Based Rich Text Solution

S

software-mansion

Dernière activité 29 sept. 2026
software-mansion/enriched-markdown

1,1 k

étoiles

96

forks

75

issues ouvertes

markdownmarkdown-editorreact-nativerich-textrich-text-editortext-input

Ce README est souvent en anglais.

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

Platform Package README
React Native npm React Native
Android Maven Central Android
iOS swift package iOS

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.2.0")
}
import com.swmansion.enriched.markdown.compose.EnrichedMarkdownText

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

Projets similaires

A Rich text editor library for both Jetpack Compose and Compose Multiplatform, fully customizable, supports HTML and Markdown.

Kotlinandroidandroid-librarycompose
MMohamedRejeb
1,9 k étoiles162

Drop-in replacement for React Native's TextInput component with Markdown formatting.

TypeScriptmarkdownreact-nativetextinput
EExpensify
1,3 k étoiles116

HTML-based Rich Text solution for React Native

Chtmlreact-nativerich-text
Ssoftware-mansion
1,4 k étoiles66