Table cell formatting options in Sanity plugins
Unfortunately, the current table plugins for Sanity (including both the rdunk/sanity-plugin-table and the official @sanity/table plugin) only support plain strings in table cells—they don't support rich text formatting like bullet points, bold, italics, or other Portable Text features.
This is a well-known limitation mentioned in the Sanity documentation: table cells themselves don't support rich text.
Alternative Solutions
Since you need bullet points in table cells, here are some workarounds:
1. Use an Array of Objects Instead
The most common approach is to model your data as an array of objects rather than a table, then render it as a table on your frontend. This gives you full control over cell content:
{
name: 'comparisonTable',
title: 'Comparison Table',
type: 'array',
of: [{
type: 'object',
fields: [
{
name: 'feature',
type: 'string',
title: 'Feature'
},
{
name: 'description',
type: 'array',
title: 'Description',
of: [{type: 'block'}] // Full Portable Text support with bullet points!
}
]
}]
}2. Build a Custom Table Input Component
You could create a custom input component that combines the table UI with Portable Text fields for each cell. This requires more development work but gives you exactly what you need. Check out the Sanity documentation on custom inputs for guidance.
3. Use Markdown in Cells
As a simpler workaround, you could use the plain string cells and adopt a markdown convention (like - bullet point), then parse and render the markdown on your frontend.
The array-of-objects approach is generally recommended because it's easier to query, validate, and maintain. Tables in CMSs often become problematic for editors as content grows more complex—structured data tends to scale better.
Show original thread15 replies
Sanity – Build the way you think, not the way your CMS thinks
Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.