@react-email/editor/extensions and are included
in StarterKit by default. Each can be configured via StarterKit.configure() or
imported individually.
Block Nodes
Block Nodes
Body
Email body wrapper element.Extra HTML attributes applied to the body element.
Section
Content section container.Extra HTML attributes applied to the section element.
Container
Primary email content wrapper. InStarterKit, top-level blocks are wrapped in a
container node so the document exports through React Email’s
<Container> component.Extra HTML attributes applied to the editor wrapper for the container node.
max-width and a single row/cell is
parsed back into a container node.Div
Generic div container.Extra HTML attributes applied to the div element.
Paragraph
Text paragraph.Extra HTML attributes applied to the paragraph element.
Heading
Heading levels 1–6.Which heading levels to enable.
Extra HTML attributes applied to the heading element.
Blockquote
Block quote element.Extra HTML attributes applied to the blockquote element.
CodeBlockPrism
Code block with Prism.js syntax highlighting.Default language for syntax highlighting.
Extra HTML attributes applied to the code block element.
Divider
Horizontal rule / separator.Extra HTML attributes applied to the hr element.
Button
Email button (styled anchor element).Extra HTML attributes applied to the button element.
PreviewText
Email preview text (shown in inbox list views).Lists
Lists
BulletList
Unordered list.Extra HTML attributes applied to the ul element.
OrderedList
Ordered (numbered) list.Extra HTML attributes applied to the ol element.
ListItem
Individual list item.Extra HTML attributes applied to the li element.
Layout
Layout
TwoColumns
Two column layout container. Inserts twoColumnsColumn children.ThreeColumns
Three column layout container. Inserts threeColumnsColumn children.FourColumns
Four column layout container. Inserts fourColumnsColumn children.ColumnsColumn
Individual column within a column layout. Automatically created by column insertion commands.Tables
Tables
Table
Table container.Extra HTML attributes applied to the table element.
TableRow
Table row.Extra HTML attributes applied to the tr element.
TableCell
Table cell.Extra HTML attributes applied to the td element.
TableHeader
Table header cell.Inline Marks
Inline Marks
Bold
Bold text formatting.Extra HTML attributes applied to the strong element.
Italic
Italic text formatting.Extra HTML attributes applied to the em element.
Strike
Strikethrough text formatting.Extra HTML attributes applied to the s element.
Underline
Underline text formatting.Extra HTML attributes applied to the u element.
Code
Inline code formatting.Extra HTML attributes applied to the code element.
Sup
Superscript text.Extra HTML attributes applied to the sup element.
Uppercase
Uppercase text transform.Link
Hyperlink with extended email attributes.Whether clicking a link navigates to the URL. Disabled by default in the editor.
Extra HTML attributes applied to the a element.
Text
Base text node. Required for any text content.Attributes
Attributes
Utility
Utility
Placeholder
Shows placeholder text when the editor is empty.Placeholder text or function returning placeholder text.
Whether to show placeholders in child nodes.
TrailingNode
Keeps an empty block at the end of the target node so the caret can move below the last block and users can continue typing. InStarterKit, it is configured to append
an empty paragraph inside each container, section, and columnsColumn.Node type to insert when a trailing block is needed.
Node type (or array of node types) that receives the trailing block. When an array is
provided, a trailing node is appended inside every matching node type.
StarterKit
overrides this to ['container', 'section', 'columnsColumn'].Node types after which no trailing block should be inserted. The inserted node type
is always treated as disallowed automatically, so a trailing paragraph will not be
added after another paragraph.
PreservedStyle
Preserves inline formatting when unlinking text.GlobalContent
Stores metadata (like custom CSS) that persists in the document but isn’t visible. Used by the serializer to inject global styles.MaxNesting
Enforces a maximum nesting depth for the document.Maximum allowed nesting depth.
Node types to enforce the nesting limit on.