
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
react-native-enriched-markdown
Advanced tools
react-native-enriched-markdown is a powerful React Native library that renders Markdown content as native text:
$$...$$ with flavor="github", inline $...$ in all flavors)Since 2012 Software Mansion is a software agency with experience in building web and mobile apps. We are Core React Native Contributors and experts in dealing with all kinds of React Native issues. We can help you build your next dream product – Hire us.
react-native-enriched-markdown currently supports only Android and iOS platforms0.81, 0.82, 0.83 and 0.84yarn add react-native-enriched-markdown
[!TIP] To try the latest features before they land in a stable release, install the nightly build:
yarn add react-native-enriched-markdown@nightlyNightly versions are published to npm automatically and may contain breaking changes.
The library includes native code so you will need to re-build the native app.
cd ios && bundle install && bundle exec pod install
npx expo install react-native-enriched-markdown
The library includes native code so you will need to re-build the native app.
npx expo prebuild
[!NOTE] The library won't work in Expo Go as it needs native changes.
[!IMPORTANT] iOS: Save to Camera Roll
If your Markdown content includes images and you want users to save them to their photo library, add the following to your
Info.plist:<key>NSPhotoLibraryAddUsageDescription</key> <string>This app needs access to your photo library to save images.</string>
import { EnrichedMarkdownText } from 'react-native-enriched-markdown';
import { Linking } from 'react-native';
const markdown = `
# Welcome to Markdown!
This is a paragraph with **bold**, *italic*, and [links](https://reactnative.dev).
- List item one
- List item two
- Nested item
`;
export default function App() {
return (
<EnrichedMarkdownText
markdown={markdown}
onLinkPress={({ url }) => Linking.openURL(url)}
/>
);
}
Set flavor="github" to enable GitHub Flavored Markdown features like tables and task lists:
<EnrichedMarkdownText
flavor="github"
markdown={markdown}
onLinkPress={({ url }) => Linking.openURL(url)}
markdownStyle={{
table: {
fontSize: 14,
borderColor: '#E5E7EB',
borderRadius: 8,
headerBackgroundColor: '#F3F4F6',
headerFontFamily: 'System-Bold',
cellPaddingHorizontal: 12,
cellPaddingVertical: 8,
},
}}
/>
Tables support column alignment, rich text in cells (bold, italic, code, links), horizontal scrolling, header styling, alternating row colors, and a long-press context menu with "Copy" and "Copy as Markdown".
Task lists with interactive checkboxes are available when flavor="github" is set. Handle checkbox taps with onTaskListItemPress:
<EnrichedMarkdownText
flavor="github"
markdown={`
- [x] Completed task
- [ ] Incomplete task
- [x] Another completed task
`}
onTaskListItemPress={({ index, checked, text }) => {
console.log(
`Task ${index}: ${checked ? 'checked' : 'unchecked'} - ${text}`
);
// Update your state or data model here
}}
/>
Links in Markdown are interactive and can be handled with the onLinkPress and onLinkLongPress callbacks:
onLinkPress: Fired when a link is tapped. Use this to open URLs or handle link navigation.onLinkLongPress: Fired when a link is long-pressed. On iOS, providing this callback automatically disables the system link preview so your handler can fire instead.See the API Reference for detailed examples and usage.
react-native-enriched-markdown supports a comprehensive set of Markdown elements. See Element Structure for a detailed overview of all supported elements, their syntax, block vs inline categorization, nesting behavior, and how elements inherit typography from their parent blocks.
When text is selected, react-native-enriched-markdown provides enhanced copy functionality through the context menu. See Copy Options for details on smart copy, copy as Markdown, and copy image URL features.
react-native-enriched-markdown provides comprehensive accessibility support for screen readers on both platforms. See Accessibility for detailed information about VoiceOver and TalkBack support, custom rotors, semantic traits, and best practices.
react-native-enriched-markdown fully supports right-to-left (RTL) languages such as Arabic, Hebrew, and Persian. See RTL Support for platform-specific setup instructions and how each element behaves in RTL contexts.
react-native-enriched-markdown allows customizing styles of all Markdown elements using the markdownStyle prop. See the Style Properties Reference for a detailed overview of all available style properties.
See the API Reference for a detailed overview of all the props, methods, and events available.
We're actively working on expanding the capabilities of react-native-enriched-markdown. Here's what's on the roadmap:
EnrichedMarkdownInputreact-native-webSee the contributing guide to learn how to contribute to the repository and the development workflow.
react-native-enriched-markdown library is licensed under The MIT License.
Built by Software Mansion.
FAQs
Markdown Text component for React Native
The npm package react-native-enriched-markdown receives a total of 25,026 weekly downloads. As such, react-native-enriched-markdown popularity was classified as popular.
We found that react-native-enriched-markdown demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.