An extensible text editor framework that provides excellent reliability, accessibility and performance.
Documentation | Getting Started | Playground | Gallery
- Framework Agnostic Core - Works with any UI framework, with official React bindings
- Reliable & Accessible - Built-in accessibility support and WCAG compliance
- Extensible - Plugin-based architecture with powerful extension points
- Immutable State Model - Time-travel ready with built-in undo/redo
- Collaborative Editing - Real-time collaboration via Yjs integration
- Serialization - Import/export from JSON, Markdown, and HTML
- Rich Content - Support for tables, lists, code blocks, images, and custom nodes
- Cross-browser - Firefox 115+, Safari 15+, Chrome 86+ (see Supported Browsers)
- Type Safe - Written in TypeScript with comprehensive type definitions
npm install lexical @lexical/reactimport{$getRoot,$getSelection}from'lexical';import{LexicalComposer}from'@lexical/react/LexicalComposer';import{PlainTextPlugin}from'@lexical/react/LexicalPlainTextPlugin';import{ContentEditable}from'@lexical/react/LexicalContentEditable';import{HistoryPlugin}from'@lexical/react/LexicalHistoryPlugin';import{LexicalErrorBoundary}from'@lexical/react/LexicalErrorBoundary';constinitialConfig={namespace: 'MyEditor',onError: (error)=>console.error(error),};functionEditor(){return(<LexicalComposerinitialConfig={initialConfig}><PlainTextPlugincontentEditable={<ContentEditable/>}ErrorBoundary={LexicalErrorBoundary}/><HistoryPlugin/></LexicalComposer>);}Try it yourself:
# Install dependencies
pnpm install
# Start playground dev server
pnpm run start
# Run tests
pnpm run test-unit
pnpm run test-e2e-chromium
# Lint and type check
pnpm run ci-checkSee CONTRIBUTING.md for detailed development guidelines.
- User Guide: lexical.dev/docs/intro
- API Reference: lexical.dev/docs/api
- Developer Guide: AGENTS.md - Architecture and development workflows
- Examples: examples/ - Sample implementations
- Discord: Join our Discord server for announcements, questions, discussions
- Issues: Report bugs and request features on GitHub Issues
- Release Notes: Release notes are available in Github Releases
| Browser | Version |
|---|---|
| Chrome | 86+ |
| Firefox | 115+ |
| Safari | 15+ |
| Edge | 86+ |
We welcome contributions! Please read our Contributing Guide to learn about our development process and how to propose bugfixes and improvements.
MIT License Copyright ©2026 Meta Platforms, Inc.