---
title: "Переход на Blok — Editor.js, TipTap, Quill"
description: "Руководства по миграции и кодмод, которые переносят существующую интеграцию редактора на Blok без переписывания контента."
source: https://blokeditor.com/ru/migration/
lastmod: 2026-09-07
---

# Переросли Editor.js?

Вы выбрали его ради блоков. Но у блочного текстового редактора есть потолок — нет настоящей вложенности, нет модели данных, для всего нужен плагин. В Blok эти стены исчезают.

[Смотреть, как падают стены](#walls) [Как перейти](#move)

## В Blok ничего этого больше нет

Это не список фич — это те самые потолки, из-за которых вы стали искать замену.

Editor.js

### Плоские блоки

Блоки не могут содержать блоки. Нет вложенности, тогглов с содержимым, колонок.

Blok

### Всё — это блок

Настоящая иерархия. Вложенные страницы, колонки, тогглы, строки баз данных — блоки внутри блоков.

Editor.js

### Для всего нужен плагин

Ищи, подключай, следи за версиями и надейся, что плагин поддерживают — для каждого блока.

Blok

### Всё в комплекте

Таблицы, медиа, эмбеды, колонки, код — один типизированный пакет, без раскопок плагинов.

Editor.js

### Просто текстовый редактор

Контент — это потолок. Нет структурированных записей, баз данных, страниц внутри страниц.

Blok

### Движок блоков

Базы данных и строки — это блоки. Стройте рабочее пространство уровня Notion, а не просто поверхность для письма.

Editor.js

### Нет истории с фреймворками

Обёртку пишете сами и боретесь с багами жизненного цикла. Нет официального пути для React/Vue/Angular.

Blok

### Адаптеры из коробки

Типизированный хук и компонент для React, Vue и Angular. Готовые, а не ваша забота.

## Вы сохраняете почти весь свой код Editor.js

- Сохранённый контент загружается как есть — без шага преобразования данных.
- Кастомные блок-тулзы переносятся без изменений — те же render, save, validate, onPaste.
- Старые строчные инструменты? Оберните их в wrapLegacyInlineTool вместо переписывания.
- Отброшенные поля логируют предупреждение с именем блока при загрузке legacy-данных, а `migrate()` возвращает их в `report.lossyFields` — молча мигрирует только codemod.

```
import { EditorJS } from '@bloklabs/core'; // new EditorJS({ ... }) остаётся без изменений
```

Blok экспортирует алиас EditorJS. Поменяйте одну строку — и всё работает.

## Одна команда, потом ревью и деплой

```
npx -p @bloklabs/core migrate-from-editorjs ./src --dry-run
```

1. 1. Предпросмотр через --dry-run
2. 2. Применить и просмотреть диф
3. 3. Деплой

[Полный справочник: все переименования, карта CSS и совместимость тулзов →](https://blokeditor.com/ru/migration/reference/)
