Skip to main content
All extensions are available from @react-email/editor/extensions and are included in StarterKit by default. Each can be configured via StarterKit.configure() or imported individually.

Body

Email body wrapper element.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the body element.

Section

Content section container.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the section element.

Div

Generic div container.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the div element.

Paragraph

Text paragraph.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the paragraph element.

Heading

Heading levels 1–6.
levels
number[]
default:"[1, 2, 3, 4, 5, 6]"
Which heading levels to enable.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the heading element.

Blockquote

Block quote element.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the blockquote element.

CodeBlockPrism

Code block with Prism.js syntax highlighting.
defaultLanguage
string | null
Default language for syntax highlighting.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the code block element.

Divider

Horizontal rule / separator.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the hr element.

Button

Email button (styled anchor element).
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the button element.

PreviewText

Email preview text (shown in inbox list views).

BulletList

Unordered list.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the ul element.

OrderedList

Ordered (numbered) list.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the ol element.

ListItem

Individual list item.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the li element.

TwoColumns

Two column layout container. Inserts two ColumnsColumn children.

ThreeColumns

Three column layout container. Inserts three ColumnsColumn children.

FourColumns

Four column layout container. Inserts four ColumnsColumn children.

ColumnsColumn

Individual column within a column layout. Automatically created by column insertion commands.

Table

Table container.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the table element.

TableRow

Table row.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the tr element.

TableCell

Table cell.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the td element.

TableHeader

Table header cell.

Bold

Bold text formatting.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the strong element.

Italic

Italic text formatting.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the em element.

Strike

Strikethrough text formatting.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the s element.

Underline

Underline text formatting.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the u element.

Code

Inline code formatting.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the code element.

Sup

Superscript text.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the sup element.

Uppercase

Uppercase text transform.
Hyperlink with extended email attributes.
openOnClick
boolean
default:"false"
Whether clicking a link navigates to the URL. Disabled by default in the editor.
HTMLAttributes
Record<string, any>
Extra HTML attributes applied to the a element.

Text

Base text node. Required for any text content.

AlignmentAttribute

Adds text alignment support (left, center, right) to block nodes.
types
string[]
Node types that support alignment.

StyleAttribute

Adds inline CSS style support to nodes.

ClassAttribute

Adds CSS class name support to nodes.

Placeholder

Shows placeholder text when the editor is empty.
placeholder
string | ((node) => string)
Placeholder text or function returning placeholder text.
includeChildren
boolean
default:"true"
Whether to show placeholders in child nodes.

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.
maxDepth
number
Maximum allowed nesting depth.
nodeTypes
string[]
Node types to enforce the nesting limit on.

HardBreak

Line break within a block (Shift+Enter).