notionic

Rendering sample blocks.

notionic renders blocks from the official Notion API (opens in a new tab) as React Server Components, with bold, italic, inline code, red text and highlights.

Getting started

  1. Fetch a page's blocks with fetchBlocks.
  2. Pass them to <NotionRenderer>.
    • Nested lists work too.

Code, callouts, tables and toggles here come from notionic's shadcn registry.

TypeScript
const blocks = await fetchBlocks(notion, pageId)
return <NotionRenderer blocks={blocks} />
app/page.tsx

More blocks

Use Notion as your CMS.
Notion blockshadcn/ui component
codeCode Block
calloutAlert
tableTable
toggleCollapsible

Left column

Right column


That's it.