ProseKit ships an extension for every common editor feature. Each one lives at prosekit/extensions/<name> and exposes a define<Name>() factory you compose with union(...). Open a page to see its commands, keyboard shortcuts, and usage example.
| Extension | Description |
|---|
| Blockquote | Quote blocks for citing or highlighting passages |
| CodeBlock | Code blocks with optional syntax highlighting |
| Doc | The top-level document node every editor needs |
| Hard Break | Inline line break, rendered as <br> |
| Heading | Heading nodes h1 through h6 with Markdown-style input rules |
| Horizontal Rule | Horizontal divider lines for content separation |
| Image | Embed images with optional dimension attributes |
| List | Bullet, ordered, task, and toggle lists |
| Math | Inline and block math expressions rendered with a custom function |
| Mention | Mention nodes triggered by characters like @ or # |
| Page | Page-break-aware container that paginates content for printing |
| Paragraph | The default block node for body text |
| Table | Editable tables with row, column, and cell selection |
| Text | The text node every schema requires |
| Extension | Description |
|---|
| Background Color | Apply a background color to a text selection |
| Bold | Bold text formatting backed by the standard <strong> mark |
| Code | Inline code formatting backed by the standard <code> mark |
| Italic | Italic text formatting backed by the standard <em> mark |
| Link | Hyperlink mark with optional auto-detection from typed URLs |
| Strike | Strikethrough text formatting backed by the standard <s> mark |
| Text Color | Apply a foreground color to a text selection |
| Underline | Underline text formatting backed by the standard <u> mark |
| Extension | Description |
|---|
| Commit | Track and visualize document changes between commits |
| Drop Cursor | Visual cursor indicator during drag-and-drop operations |
| Enter Rule | Run handlers when the Enter key matches a regex pattern |
| File | Handle file drops and pastes with custom upload logic |
| Gap Cursor | Cursor that lets you select positions between non-editable blocks |
| Input Rule | Transform typed text using regex-driven input rules |
| Placeholder | Show placeholder text in empty blocks |
| Readonly | Make the editor read-only and prevent edits |
| Search | In-document search and replace functionality |
| Text Align | Add text alignment attributes to block nodes |
| Extension | Description |
|---|
| Loro | Real-time collaboration with the Loro CRDT |
| Yjs | Real-time collaboration with the Yjs CRDT |