# codex-team/editor.js

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/codex-team-editor-js).**

31,528 stars · 2,234 forks · TypeScript · apache-2.0

## Links

- GitHub: https://github.com/codex-team/editor.js
- Homepage: https://editorjs.io
- awesome-repositories: https://awesome-repositories.com/repository/codex-team-editor-js.md

## Topics

`codex-editor` `editor` `javascript` `json` `redactor` `typescript` `ui` `wysiwyg`

## Description

Editor.js is a block-style rich text editor that organizes document content into an ordered array of independent, modular data objects. By replacing monolithic HTML strings with a structured, machine-readable JSON format, it decouples the content creation process from the final presentation layer.

The editor functions as a browser-based orchestration layer that manages user input, focus, and state synchronization across individual blocks. Its architecture is built on a plugin-driven system where external modules register themselves to handle specific content types, providing custom rendering logic and data serialization. A central event bus coordinates these plugins, allowing developers to extend the editor with custom functionality and specialized media tools.

This modular approach supports headless content management, enabling the creation of rich text documents that are easily rendered across multiple platforms. The project provides a framework for building custom editing interfaces by combining reusable components that handle distinct text and media blocks.

## Tags

### Content Management & Publishing

- [Block-Based Editors](https://awesome-repositories.com/f/content-management-publishing/block-based-editors.md) — Provides a modular block-based editing interface that outputs structured JSON data instead of raw HTML. ([source](https://editorjs.io/base-concepts/))
- [Block-Style Editors](https://awesome-repositories.com/f/content-management-publishing/block-style-editors.md) — Provides a modular block-style editing architecture that outputs clean JSON data instead of traditional HTML markup. ([source](https://editorjs.io/base-concepts/))
- [Content Editing Frameworks](https://awesome-repositories.com/f/content-management-publishing/content-editing-frameworks.md) — Provides a modular architecture for building custom content editing interfaces using reusable, plugin-based media and text block handlers.
- [Headless Content Management Systems](https://awesome-repositories.com/f/content-management-publishing/headless-content-management-systems.md) — Provides a decoupled architecture for managing and delivering structured content via APIs to any presentation layer.
- [Content Schemas](https://awesome-repositories.com/f/content-management-publishing/content-schemas.md) — A structured data format that represents document content as clean, machine-readable objects instead of complex, nested HTML markup strings.
- [Data Interchange Formats](https://awesome-repositories.com/f/content-management-publishing/data-interchange-formats.md) — Outputs structured content in a clean JSON format instead of traditional HTML markup for easier data processing and integration. ([source](https://editorjs.io/base-concepts/))
- [Structured Content Editors](https://awesome-repositories.com/f/content-management-publishing/structured-content-editors.md) — Provides a framework for authoring and managing content in structured, machine-readable formats rather than traditional markup.

### User Interface & Experience

- [Editor Plugins](https://awesome-repositories.com/f/user-interface-experience/editor-plugins.md) — Provides a modular API for extending the editor with custom block types and rich media functionality. ([source](https://editorjs.io/base-concepts/))
- [Rich Text Editors](https://awesome-repositories.com/f/user-interface-experience/rich-text-editors.md) — Provides a block-based, extensible architecture for implementing advanced rich text editing capabilities within web interfaces.

### Data & Databases

- [Block-Based Data Models](https://awesome-repositories.com/f/data-databases/block-based-data-models.md) — Represents document content as an ordered array of independent data objects to enable modular content manipulation.

### Development Tools & Productivity

- [Plugin Architectures](https://awesome-repositories.com/f/development-tools-productivity/plugin-architectures.md) — Provides a modular framework that enables the integration of custom content types and functional tools into the editor.

### Software Engineering & Architecture

- [Data Serialization Formats](https://awesome-repositories.com/f/software-engineering-architecture/data-serialization-formats.md) — Transforms complex document structures into standardized, machine-readable formats to decouple content storage from visual presentation.
- [Event Buses](https://awesome-repositories.com/f/software-engineering-architecture/event-buses.md) — Coordinates interactions between the editor core and plugins through a centralized message bus for state updates and command handling.
- [Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/plugin-architectures.md) — Enables modular extensibility by allowing external components to register custom rendering and serialization logic for the core system.
