Skip to content
Notion Arena
components / 203

Notion gives you a page and a database.This is the rest.

An open registry of 203 components Notion doesn't ship — 192 interactive widgets that run inside any page, plus 11 database systems that install straight through the API. Browse, preview, copy, done.

192 freeRuns offline inside NotionMIT licensed unless marked ProWorks with Claude Code, Cursor & any MCP client

three ways in

One component, three ways to put it in Notion

Pick whichever fits how you work. All three show up as a normal block inside your page — no embed watermarks, no login required for the free stuff.

Step 1

Paste a link

Copy one URL, paste it into Notion's Embed block.

No install, no upload, no account. Just paste the link on any Notion plan (even the free one) and the widget shows up, live and interactive. You can change colours and settings right in the URL.

/embed/pomodoro-timer?work=25&accent=%23e03e3e
Step 2

Drop a file

Download one .html file and drag it onto a page.

The widget lives inside your Notion workspace forever — no loading from our server, no downtime if this site disappears. Everything is self-contained in that one file and works fully offline.

one-file.html · drag & drop
Step 3

Install a system

For things that need real databases, like a CRM or a tracker.

We give you a step-by-step plan: what to click, what we create for you through the Notion API, and the one or two manual steps Notion doesn't let us do automatically. You approve each step before it runs.

one-click install → ready-to-use database

Not sure which one you need? There's a short guide for that.

featured

Running, not screenshotted

Every preview below is the actual file you would install, in an iframe. Hover one to interact with it.

All 203 components
📈
Popular

KPI Strip

Four metric tiles with sparklines, deltas and target rings.

DashboardsFreeWidgetv2.0.0
🔥
Popular

Habit Heatmap Grid

GitHub-style contribution grid for up to six habits, with streaks.

TrackersFreeWidgetv1.4.1
💼CRM Pipelineboard
Status property with Notion's native stage groups (To begin / In progress / Done / Blocked)Rollups from Deals → Companies for lifetime value and open pipelineFormula-driven 'Days in stage' that flags stale deals in redDashboard view combining a number widget, a board and a chart
POST /v1/databasesPOST /v1/views
Popular

CRM Pipeline

Companies, people and deals: related databases with a board and a pipeline chart.

BusinessProNativev2.1.0
📅

Gantt Timeline

A dependency-aware timeline you can hand to a client.

PlanningProWidgetv1.2.0
🍅
Popular

Pomodoro Focus Timer

Work/break cycles with a progress ring, session counter and chime.

TimeFreeWidgetv1.2.1
🧮

ROI Calculator

Sliders in, a payback chart out, for proposals and sales pages.

BusinessFreeWidgetv1.0.1

the gap

Four things Notion will not let you build

Every native recipe in this catalog cites the specific limitation it works around. These are not opinions about Notion: they are documented behaviour of the public API, and each one links to the source.

Read the full limitation index
  • Button blocks are response-only

    You can read a button through the API; you cannot create one. Every “press this” interaction has to be built as a widget or left as a manual click.

    docs/api-limits
  • Automations cannot be created by API

    Database automations are configured in the UI only. A recipe can build the schema an automation needs, then hand you the exact click-path to finish it.

    docs/recipes
  • No recurring or native charts

    Recurring tasks and charts on your own data have to be expressed with formulas, rollups and views, or drawn by a widget that owns its rendering.

    components?category=time
  • A synced block is one block deep

    Synced blocks mirror their original, but you cannot nest them arbitrarily. Reusable dashboard furniture has to be assembled page by page.

    docs/sandbox

workflow

From browsing to installed in three steps

  1. Pick a component

    Filter by category, by delivery channel, or by whether it needs to be interactive. Every card runs the real file. What you see is what gets installed.

    Browse components
  2. Configure it

    Change colours, labels, targets and data. The preview re-renders as you type and the URL updates, so a configured widget is just a link you can save.

    See how configuration works
  3. Put it in Notion

    Copy the embed URL, download the HTML file, or read the install plan for a native recipe. Three channels, one component.

    Compare the channels

machine-readable

A registry an agent can read

The catalog is published as JSON in the shadcn registry format, so a script or a coding agent can discover components, read their parameters, and pull raw file contents without scraping a page.

// components.json
{
  "registries": {
    "@notion-arena": "https://notionarena.vercel.app/r/{name}.json"
  }
}
endpointsapplication/json · CORS *
Notion Arena registry and API endpoints
GET/r/index.jsonEvery component, metadata only
GET/r/schema.jsonThe registry item schema
GET/r/<name>.jsonOne component, file contents inlined
GET/embed/<slug>The widget, ready to iframe
GET/api/widget/<slug>Raw .html file, attachment
POST/api/installPlan an install, or run one

pricing

Free to browse, free to embed

192 of 203 components are free under MIT, including every embed URL. Pro adds the rest of the catalog and API-driven installs.

Free
$0Forever
  • 192 components under MIT
  • Embed URLs and HTML downloads
  • Registry read access
  • Install plan viewer
Browse free components
ProRecommended
$9per month, per person
  • All 203 components
  • API recipe installs
  • Commercial use in sold templates
  • Free during beta
See everything Pro unlocks
Teams
$29per month, 5 seats
  • Everything in Pro
  • Workspace-wide install
  • Shared configuration presets
  • Custom-branded widgets
Read the Teams details

Pricing is provisional while Notion Arena is in beta. No billing is wired up yet, and nothing here charges you. Full comparison on the pricing page.

“Notion gives you a page, a database, and a button you cannot create from the API. Everything in this catalog exists because of a gap exactly that specific.”

docs/api-limits, where each limitation is sourced

questions

What people ask before installing

Short answers here. The long ones, with sources, are in the docs.

Works on the Free planNo network callsMIT licensed

No. Embed URLs and HTML blocks work on every plan, including Free. You need Business or Enterprise only if you want Notion's AI to generate or edit HTML inside a block: the blocks you install still render everywhere. Native recipes work on any plan that has API access, which includes Free.

No, and this is the single most important thing to understand. An HTML block runs in a sandboxed iframe with no URL and no network access, so it cannot see the page it sits on, cannot call the Notion API, and cannot talk to any external service. Our widgets are therefore driven by URL parameters, baked-in configuration and localStorage, not by your database. For anything data-driven, use a native recipe or Notion's own dashboard and chart views.

State saved by a widget is per browser, per device. Your colleague opening the same page sees the widget's defaults, not your checked-off squares. That is fine for timers, calculators and mood logs. It is wrong for shared trackers, which is why the shared versions of those exist as native database recipes instead.

Because the Notion API genuinely cannot do those things. There is no button block type in the public API, database automations cannot be created programmatically, recurring templates are a paid feature with no endpoint, and dashboard view layouts are read-only. We install everything that can be installed and hand you the exact click path for the rest.

No. Notion Arena is an independent project. Notion, Notion Labs Inc. and the Notion API are trademarks of Notion Labs Inc. We build on their public API and their documented HTML block feature.

The HTML file you download is yours: edit it, host it yourself, ship it in your own templates. The embed URL keeps receiving our updates automatically; a downloaded HTML block is frozen at the version you took, which is exactly what you want for a template you sell.

A machine-readable manifest at /r/index.json in the shadcn registry-item schema, plus per-component files that inline the full HTML. Point Claude Code, Cursor, or Claude Desktop at our MCP server (claude mcp add --scope project notion-arena -- npx -y notion-arena-mcp or npx -y notion-arena-mcp@0.2.2) and Agent Skill (npx skills add SynergyFlowLabs/notion-arena --skill notion-arena) and the agent can list, fetch and plan-install components directly from chat.

Embed URLs stop loading. That is the honest downside of hosted delivery, and it is why every widget is downloadable as a single self-contained HTML file with no CDN dependencies. Download it once and the block works forever, offline, with no account and no server.

Put something in your Notion today

192 components are free and need no account. Copy an embed URL, or download the file and own it outright.

  • No account
  • No card
  • 203 components indexed