Authoring

Portable Text

Rich text as structured data: blocks, styles, lists, decorators, annotations, and embedded objects such as images, code blocks, tables and callouts.

shipped

Rich text is stored as an array of blocks, not as HTML. Marks are separated from the text they apply to, annotations live in markDefs, and anything that is not prose — an image, a code sample, a table, a callout — is an ordinary object in the same array.

The consequence that matters: the same document renders to a web page, to an app, to a plain-text search index, and to a plain-text summary, without any of them parsing markup.