Supported Browsers
Lexical is designed to work across all modern browsers. This page outlines the minimum supported versions and important compatibility notes.Browser Support Matrix
Lexical does not support Internet Explorer or legacy versions of Microsoft Edge (pre-Chromium).
Desktop Browsers
| Browser | Minimum Version | Notes |
|---|---|---|
| Chrome | 86+ | Full support including all features |
| Edge | 86+ | Chromium-based Edge only |
| Firefox | 115+ | Full support including all features |
| Safari | 15+ | macOS Big Sur (11.3) or later |
| Opera | 72+ | Chromium-based versions |
Mobile Browsers
| Browser | Minimum Version | Notes |
|---|---|---|
| Chrome Android | 86+ | Full mobile editing support |
| Safari iOS | 15+ | iOS 15.0 or later |
| Safari iPadOS | 15+ | iPadOS 15.0 or later |
Why These Versions?
Lexical relies on modern web platform features that are only available in recent browser versions:contentEditable and Selection APIs
contentEditable and Selection APIs
Lexical uses advanced
contentEditable features and Selection APIs that require modern browser implementations for reliability and consistency.ES2020+ JavaScript Features
ES2020+ JavaScript Features
The framework uses modern JavaScript features like:
- Optional chaining (
?.) - Nullish coalescing (
??) - Private class fields
- Dynamic imports
DOM and Event APIs
DOM and Event APIs
Lexical depends on modern DOM APIs and event handling features:
- MutationObserver improvements
- beforeinput event
- CompositionEvent handling
- InputEvent data transfer
IME and International Text Support
IME and International Text Support
Proper support for Input Method Editors (IME) used for typing in Chinese, Japanese, Korean, and other languages requires modern browser implementations.
Feature Support by Browser
Full Feature Parity
All supported browsers have feature parity for core Lexical functionality:- ✅ Text editing and formatting
- ✅ Rich text nodes (headings, quotes, lists)
- ✅ Tables with cell merging
- ✅ Drag and drop
- ✅ Copy/paste with formatting
- ✅ Undo/redo
- ✅ IME composition
- ✅ Accessibility features
- ✅ Real-time collaboration
Browser-Specific Behaviors
Some subtle differences exist between browsers, which Lexical handles automatically:- Chrome/Edge
- Firefox
- Safari
Strengths:
- Best DevTools integration with Lexical DevTools extension
- Most performant for large documents
- Excellent clipboard handling
- None currently
Mobile Considerations
Touch Input
Lexical fully supports touch-based editing on mobile browsers:- Touch selection and cursor positioning
- Virtual keyboard integration
- Touch-friendly toolbar interactions
- Swipe gestures where appropriate
iOS Safari Specifics
iOS Safari requires special handling for:- Virtual keyboard appearance
- Selection popover positioning
- Scroll behavior when keyboard appears
Android Chrome
Android Chrome 86+ works well with Lexical, with full support for:- Gboard and other virtual keyboards
- Voice input
- Auto-correct and suggestions
- Multi-language input
Testing Browser Compatibility
Before deploying your Lexical-based editor, test across your target browsers:Identify target browsers
Determine which browsers and versions your users are using based on your analytics.
Test core functionality
Verify that basic editing, formatting, and your custom features work correctly:
- Type and delete text
- Apply formatting (bold, italic, etc.)
- Use copy/paste
- Test undo/redo
- Try IME input if applicable
Test edge cases
Check browser-specific edge cases:
- Long documents (10,000+ words)
- Rapid input
- Simultaneous users (if using collaboration)
- Mobile virtual keyboards
Polyfills and Fallbacks
Lexical does not require polyfills for supported browsers. However, if you need to support older browsers, you would need: If you absolutely must support older browsers:- Use a transpiler like Babel for JavaScript features
- Add polyfills for missing DOM APIs
- Expect degraded performance and potential bugs
- Test extensively
Developer Tools
The Lexical Developer Tools browser extension is available for: This extension helps debug Lexical editors by:- Visualizing the editor state tree
- Inspecting node properties
- Monitoring state updates
- Tracking performance
Checking Browser Support Programmatically
You can check if the current browser is supported:This is a simplified check. Lexical will generally work or fail gracefully, so browser detection is often unnecessary.
Reporting Browser Issues
If you encounter browser-specific issues:- Verify browser version - Ensure you’re using a supported version
- Check existing issues - Search GitHub Issues
- Create minimal reproduction - Isolate the issue in a minimal example
- Report with details:
- Browser name and exact version
- Operating system
- Steps to reproduce
- Expected vs actual behavior
- Screenshots or screen recordings
Next Steps
Installation
Install Lexical with your preferred package manager
Quickstart
Build your first Lexical editor
Core Concepts
Understand Lexical’s architecture
Testing Guide
Learn how to test your editor across browsers