Getting started
Welcome to Enriched Markdown, a rich text solution built by Software Mansion.
The React Native package ships two components: EnrichedMarkdownTextInput, a rich text editor that styles text live as you type, and EnrichedMarkdownText, a read-only display component that renders rich text. Both are backed by native views on iOS, Android and macOS; the display also has a plain React/DOM build for the web. Both use Markdown as the layer underneath - the input produces it, the display consumes it.
Beyond the basic styles you already know, like bold or italic, the library provides more powerful tools such as a native LaTeX renderer - something you'll learn about later.
How to navigate these docs
Enriched Markdown ships as a React Native library and as standalone native SDKs for iOS and Android. The docs are organized around that split:
- React Native - start here. Installation and the package's whole API: the
EnrichedMarkdownTextdisplay, theEnrichedMarkdownTextInputeditor, style properties and element structure, plus guides for Markdown flavors, web support, image caching, native assets, testing and macOS. - iOS - a standalone SwiftUI view for native iOS apps (iOS 16+), distributed as the
enriched-markdown-iosSwift package. TheEnrichedMarkdownproduct is the renderer;EnrichedMarkdownLaTeX(math) andEnrichedMarkdownSyntaxHighlighting(code-block colors) are optional - see the products. - Android - a standalone Jetpack Compose component for native Android apps, published to Maven Central as
com.swmansion.enriched.markdown:compose, plus the optionalmath(LaTeX) andcode-highlight(code-block colors) artifacts - see artifacts. - Rich text formatting - features that cut across the reference pages: mentions, LaTeX math, code-block highlighting, and Markdown streaming.
- User experience - how the rendered text behaves for your readers: accessibility, RTL support, and copy options.
- Misc - supporting material: compatibility, breaking changes, known limitations, the roadmap, and how to contribute.
New here? Read Core concepts for the model the whole library is built on, then skim Feature support to see what each target renders. After that, work through the React Native section end-to-end - it takes you from an empty project to a working display and editor - and dip into Rich text formatting, User experience, and Misc as needed. Building a native iOS or Android app without React Native? Start in the iOS or Android section instead - each takes you from installation to a rendered screen.
The standalone iOS package (enriched-markdown-ios) and Android artifacts (com.swmansion.enriched.markdown:*) lag behind the React Native package and are still under development: they render Markdown but have no editor and no streaming API. If you need a particular feature prioritized, let us know via Issues.