TypeCellOS / TypeCellOS/BlockNote
Ability to change the custom block type to another
@matthewlipski is already working on this.
Since Feb 3, 2026.
- Dominant language
- TypeScript
- Stars
- 10.2k
- Forks
- 772
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 17
Description
It would be very helpful if BlockNote provided a native way to change a custom block type to another block type.
Currently, when selecting text inside BlockNote’s built-in blocks, the formatting toolbar appears with a Block Type dropdown that allows changing the block type. However, this dropdown is not available for custom blocks, which makes it impossible to convert them using the same UX.
Current Limitation
- Built-in blocks expose the Block Type dropdown in the formatting toolbar
- Custom blocks do not expose this control
- As a result, users cannot convert a custom block into another block type using the native UI
Existing Workaround
BlockNote allows developers to manually construct the content of the formatting toolbar. However, this approach has several drawbacks:
- The formatting toolbar dynamically adapts based on context (e.g. links, images, tables, etc.)
- Manually reconstructing the toolbar risks:
- Breaking built-in toolbar logic in certain states
- Missing context-specific behaviors
- Losing compatibility with future toolbar features or components
Why Native Support Matters
- Ensures consistent UX between built-in and custom blocks
- Avoids fragile workarounds and duplicated logic
- Preserves automatic toolbar behavior and future extensibility
- Makes custom blocks feel like first-class citizens in the editor
Ideally, custom blocks should be able to opt into the same Block Type dropdown behavior as built-in blocks without requiring manual toolbar reconstruction.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.