Web support is still experimental. APIs and behavior can change in future releases without a major version bump. Expect breaking changes until the web path is stabilized.
- Inline marks: bold, italic, underline, strikethrough, inline code
- Headings (h1-h6)
- Blockquote, code block
- Ordered lists, unordered lists, checkbox lists
- Images (via
setImageref method and optionalonPasteImageswhen pasting image data) - Manual links (via
setLinkref method) - Mentions
- Automatic link detection
getHTML,setValue, selection mapping- Core callbacks:
onChange,onChangeState,onFocus,onBlur,onSelectionChange - Submit props:
submitBehaviorandonSubmitEditing.returnKeyTypeis only a hint, it maps to enterkeyhint (done,go,next,previous,search,send,default/enter). Not all values ofReturnKeyTypeOptionsare supported, the behavior of this prop is heavily dependent on the browser's capabilities. - Input theming via
placeholderTextColor,cursorColorandselectionColorprops - Keyboard shortcuts for formatting
useHtmlNormalizer- Setting text alignment via
setTextAlignment()
See Web Keyboard Shortcuts for the up-to-date list of Web keyboard shortcuts.
returnKeyLabel: ignored on web, it's not possible to set it inside a browser.- Context menu:
contextMenuItemsis ignored. - RN layout ref methods:
measure,measureInWindow,measureLayout, andsetNativePropsare no-ops. ViewProps: Props inherited fromViewbeyond the implemented subset are not forwarded.textShortcuts: ignored on web.
- Customizing the styling using props:
style,htmlStyle,selectionColor. selectablepropuseHtmlNormalizeronLinkPressandonMentionPresscallbacks
ellipsizeMode: ignored on web.numberOfLines: ignored on web.- RN layout ref methods:
measure,measureInWindow,measureLayout, andsetNativePropsare no-ops.
On web, HTML is sanitized automatically with DOMPurify on both input and output. This reduces XSS risk, but you should still treat untrusted HTML with caution and apply your own server-side sanitization.
EnrichedTextsanitizes itschildrenbefore rendering.EnrichedTextInputsanitizes every HTML entry point —defaultValue, thesetValueref method, and pasted HTML — as well as its output fromgetHTMLand theonChangeHtmlcallback.
To attach custom data to a mention, use the data- prefix (e.g. data-user-id) to make sure they survive sanitization. Attributes passed to the setMention ref method are properly sanitized.