Bold, italic, underline, strikethrough

Beta

These are inline marks applied to text runs. In Word they come from run properties (<w:rPr>). In Tiptap they are marks on text nodes. All four are registered by ConvertKit out of the box.

What you need

  • Extensions: ConvertKit — bundles Bold, Italic, Underline, and Strike.
  • Configuration: None required. All four marks work out of the box.

Support overview

MarkImportEditorExportNotes
BoldSupportedSupported (ConvertKit)SupportedFull round-trip
ItalicSupportedSupported (ConvertKit)SupportedFull round-trip
UnderlineSupported (val="single" only)Supported (ConvertKit)SupportedOther underline styles not converted
StrikethroughSupported (with a known leak across paragraphs, see below)Supported (ConvertKit)SupportedFull round-trip
Double strikethroughNot supportedNot supportedNot supportedNot converted

Import

Import these marks using the editor extension or the REST API. Both produce identical output.

The conversion service reads Word run properties and produces the corresponding Tiptap marks:

Word elementTiptap mark
<w:b/>bold
<w:i/>italic
<w:u val="single"/>underline (other val values not converted)
<w:strike/>strike
<w:dstrike/>Not handled

Bold, italic, and strikethrough import cleanly for the runs that carry the marks. Underline is only imported when the Word element has val="single". Other underline styles (double, wavy, dotted, dash) are not converted. Combined marks (bold + italic on the same text) are fully preserved. There is a known issue where strikethrough can leak from one paragraph into the next on import; see Strikethrough below.

Editor rendering

All four marks ship inside ConvertKit. No separate installation is needed.

MarkExtensionRenders asKeyboard shortcut
boldBold<strong>Cmd+B
italicItalic<em>Cmd+I
underlineUnderline<u>Cmd+U
strikeStrike<s>Cmd+Shift+S

All four marks can be active simultaneously on the same text.

Export

Export these marks using the editor extension or the REST API. Both handle them identically.

Each mark maps to a DOCX run property:

Tiptap markDOCX run property
boldbold = true
italicitalics = true
underlineUnderlineType.SINGLE
strikestrike = true

Strikethrough round-trips correctly. The import produces the correct strike mark name, so no formatting is lost.

Strikethrough

Known issue: strikethrough leaks across paragraphs

Importing a paragraph that carries strikethrough formatting can cause the following paragraph to also be rendered as strikethrough, even when the source DOCX did not strike the second paragraph. The import JSON appears to carry the strike mark beyond the original paragraph boundary. If you hit this, inspect context.content in the onImport callback before loading content into the editor and strip stray strike marks where appropriate.

Double strikethrough is not supported

Double strikethrough (<w:dstrike/>) is not handled. It is not converted on import.

Only single underline is imported

Word supports many underline styles (double, wavy, dotted, dash, and others). On import, only val="single" produces an underline mark. All other styles are not converted and are not downgraded to a plain underline. On export, every underline becomes UnderlineType.SINGLE. Text content is preserved, but the underline formatting is lost for non-single styles.