A block editor for the web: 12.19 KB at its core, 3.8× smaller than Tiptap, and zero React re-renders while you type. MIT, no runtime dependencies.
The core is 12.19 KB of JavaScript, gzipped; every module together is 30.57 KB. You import only the modules you use.
React through the <Blocks> binding, and anything else through the DOM binding, which renders the same editor with no framework.
The editor renders in the browser. In Next.js, load it in a client component with server rendering turned off; importing it on the server is safe.
Not yet. Every change is a serializable, invertible operation, which leaves room for it, but no sync is built.
Current Chrome, Safari and Firefox. The CSS Custom Highlight API sets the floor, and every release is tested in all three and on touch phones.
Your server returns new text for a block; Verbal shows it as a word diff over the original. Nothing changes until you accept, and an accepted edit is one undo step.
MIT. The display type on this page is League Gothic, used under the SIL Open Font License.
The docs, as Markdown: llms.txt (the index), llms-full.txt (every page) and AGENTS.md (for coding agents). The editor itself needs JavaScript.