Framework-agnostic core
Core has zero framework dependencies. First-class wrappers for React, Vue, Svelte, and plain Web Components — pick one or use the core directly from vanilla JS.
Framework-agnostic core
Core has zero framework dependencies. First-class wrappers for React, Vue, Svelte, and plain Web Components — pick one or use the core directly from vanilla JS.
Read-only by default
The baseline install is a pure notebook viewer — markdown, code with syntax highlighting, images, tables, and Jupyter-style outputs. Perfect for docs sites and blogs.
Opt-in inline editing
Drop in @jupyter-kit/editor-codemirror to get editable cells, a
per-cell toolbar, and Shift+Enter to run. Nothing to configure.
Run Python in-browser
@jupyter-kit/executor-pyodide runs cells inside a dedicated Web
Worker via Pyodide. No server, no round-trip —
your code never leaves the browser.
Run R + plots in-browser
@jupyter-kit/executor-webr wraps WebR and
captures R graphics as PNG. Same privacy posture as Python — execution
happens entirely on the client.
…or connect to a remote kernel
@jupyter-kit/executor-jupyter speaks the Jupyter kernel WebSocket
protocol — point it at a Jupyter Server and cells run on any installed
kernel (Python, R, Julia, …). Good for full-fat scientific stacks.
Math: bundled or from CDN
Pick KaTeX or MathJax, and bundle the engine or pull it from a CDN. CDN plugins add ~2 KB; bundled give you offline-safe math.
13 chrome + 8 syntax themes
Swap the look without touching JS — published as independent
@jupyter-kit/theme-<name> packages, or grab @jupyter-kit/theme-all.
Lezer syntax highlighting
Fast, tree-based highlighting for Python, JS, R, Julia, Haskell, and Ruby. No Prism, no highlight.js — just the Lezer parsers you actually use.
Small, tree-shakable
Every package is opt-in. Want a read-only viewer with math? Skip editor/executors. Want Python execution? Skip WebR. Baseline install stays tiny.
# Just view notebooks (React):pnpm add @jupyter-kit/react @jupyter-kit/theme-default
# Or with Vue / Svelte / Web Components:pnpm add @jupyter-kit/vue @jupyter-kit/theme-defaultpnpm add @jupyter-kit/svelte @jupyter-kit/theme-defaultpnpm add @jupyter-kit/wc @jupyter-kit/theme-defaultThe core is pulled in transitively — you only ever install the wrapper you actually use.
See the install wizard for case-by-case guidance on editing, math, Pyodide, WebR, and remote Jupyter kernels.