Build beautiful
block-based editors
Built for developers,designed for users
Everything you need to ship a modern block editor: clean JSON, a full block library, and a deep, typed API.
Drop Blok intoyour stack
A framework-agnostic core with a fully typed API, first-class React, Vue, and Angular adapters, and a zero-build CDN script. Pick whichever fits your project.
Point Blok at any DOM node and go. Fully typed, no framework needed.
import { Blok, defaultTools } from '@bloklabs/core/full';
new Blok({
holder: 'editor',
tools: defaultTools,
});The useBlok hook owns the editor lifecycle; <BlokContent> mounts it. React 18 and 19.
import { useBlok, BlokContent } from '@bloklabs/react';
import { defaultTools } from '@bloklabs/core/full';
function Editor() {
const editor = useBlok({ tools: defaultTools });
return <BlokContent editor={editor} />;
}Same shape as React: useBlok drives the editor, <BlokContent> mounts it. Vue 3.5+.
<script setup>
import { useBlok, BlokContent } from '@bloklabs/vue';
import { defaultTools } from '@bloklabs/core/full';
const editor = useBlok({ tools: defaultTools });
</script>
<template>
<BlokContent :editor="editor" />
</template>Add <blok-editor> and bind your tools. Standalone component, Angular 20–22.
import { Component } from '@angular/core';
import { BlokEditorComponent } from '@bloklabs/angular';
import { defaultTools } from '@bloklabs/core/full';
@Component({
selector: 'app-editor',
standalone: true,
imports: [BlokEditorComponent],
template: `<blok-editor [tools]="tools" />`,
})
export class EditorComponent {
tools = defaultTools;
}Add one script tag and use the BlokEditor global. Good for prototypes and no-build pages.
<div id="editor"></div>
<script src="https://unpkg.com/@bloklabs/core@1.10.0/dist/blok.iife.js"></script>
<script>
new BlokEditor.Blok({
holder: 'editor',
tools: BlokEditor.defaultTools,
});
</script>Why Blokover the alternatives
Most editors hand you a bare core and a long plugin shopping list. Blok comes with the batteries included: typed JSON output, a full block library, and a deep API, all working out of the box.
| Capability | Blok | Editor.js | TipTap | Lexical |
|---|---|---|---|---|
| Output format | Typed JSON | JSON | HTML / JSON | JSON |
| Everything is a block | Flat | Nodes | Nodes | |
| Built-in blocks | 20 built-in | Paragraph only | Basics only | Primitives |
| Markdown support | Built-in | Plugin | Add-on | Add-on |
| TypeScript-first | ||||
| Framework adapters | React / Vue / Angular | Community | React / Vue / Svelte | React |
| i18n & RTL | 69 locales | Manual | Manual | Manual |
| Accessibility | Built-in | Limited | DIY | First-class |
Companies that trust us
Blok powers the internal knowledge base behind one of the world's largest pizza chains. Thousands of authors, one block model.
- 25+Countries served
- 1,800+Stores worldwide
Bringing Blok to your team?
We'll help you set it up and adapt it to exactly what you need.
Migrate from EditorJS
Already using EditorJS? Our automated codemod handles most of the transition — just run it, review the changes, and ship.