Build really rich
editors with Yoopta
Free, open-source rich-text editor with 20+ plugins, drag & drop, keyboard shortcuts, and more. Built with love with a powerful plugin architecture.
npm install @yoopta/editorEverything you need to build
modern editors
Yoopta comes with all the features you need to create rich text editing experiences, without the complexity.
20+ Block Plugins
Paragraph, headings, lists, code, images, videos, tables, accordions, and more out of the box.
Drag & Drop
Intuitive drag and drop to reorder blocks. Supports nested structures with indentation and multi-block drag and drop.
Keyboard Shortcuts
Full keyboard navigation. Markdown shortcuts, formatting hotkeys, and customizable bindings.
Export Anywhere
Export to HTML, Markdown, plain text, or email-compatible HTML. Custom serializers supported.
Programmatic API
Full control with Editor API, Blocks API, Elements API, Plugin Commands API, Marks API
Theming
Light and dark themes. Theme presets like Shadcn UI, Material UI (in progress) and other
Mobile Friendly
Responsive design that works on all devices. Touch-optimized interactions.
Performant
Handles large documents smoothly.
Undo/Redo
Full history support with undo/redo. Batch operations for complex changes.
TypeScript
Written in TypeScript with full type definitions. Great DX and IntelliSense.
Selection Box
Multi-block selection with drag selection box. Bulk operations on selected blocks.
Plugin Architecture
Create custom plugins with custom renders, shortcuts, and behaviors.
Every block type you need
From simple paragraphs to complex tables and accordions. Mix and match plugins to build your perfect editor.
Text
Basic text formatting blocks
Paragraph
@yoopta/paragraph
Heading 1
@yoopta/headings
Heading 2
@yoopta/headings
Heading 3
@yoopta/headings
Blockquote
@yoopta/blockquote
Lists
Organized content blocks
Bulleted List
@yoopta/lists
Numbered List
@yoopta/lists
Todo List
@yoopta/lists
Media
Rich media embeds
Image
@yoopta/image
Video
@yoopta/video
Embed
@yoopta/embed
File
@yoopta/file
Carousel
@yoopta/carousel
Advanced
Complex structured blocks
Table
@yoopta/table
Code
@yoopta/code
Code Group
@yoopta/code-group
Accordion
@yoopta/accordion
Tabs
@yoopta/tabs
Steps
@yoopta/steps
Callout
@yoopta/callout
Divider
@yoopta/divider
Inline
Inline elements within text
Link
@yoopta/link
Mention
@yoopta/mention
Text Formatting (Marks)
Apply formatting to any text selection
@yoopta/marksThe future of Yoopta Editor
We're building powerful features to take your editing experience to the next level. Join the waitlist to get early access.
Real-time Collaboration
Work together in real-time with your team. See cursors, selections, and changes as they happen.
AI Inline Editing
Intelligent text suggestions, rewrites, and expansions powered by AI directly in the editor.
Side Inline Element Editor
Advanced element editing panel for complex blocks like tabs, carousels, tables, code and embeds.
AI Plugin Prompt Generator
Generate custom plugins from natural language descriptions. Describe what you need, get working code.
Plugin Marketplace
Discover and share plugins with the community. Build once, distribute everywhere.
Advanced Theming
Visual theme builder with live preview. Export themes and share with others.
MDX Export & Import
Seamlessly export and import MDX content. Perfect for documentation sites, blogs, and content management.
Get early access
Be the first to know when these features launch. No spam, just updates.
Frequently asked questions
Everything you need to know about Yoopta Editor
Still have questions?
Can't find the answer you're looking for? Join our community.
Supported by the community
Yoopta is free and open-source, made possible by our sponsors and contributors.
Become a sponsor
If you find Yoopta useful, give us a star on GitHub
Star on GitHub
