whatisgithub

What is editor.js?

codex-team/editor.js — explained in plain English

Analysis updated 2026-06-20

31,730TypeScriptAudience · developerComplexity · 2/5LicenseSetup · easy

In one sentence

Editor.js is a block-based web text editor that saves content as clean JSON instead of messy HTML, making it easy to store, transform, and display structured content reliably.

Mindmap

mindmap
  root((editor.js))
    What it does
      Block-based rich text editor
      Outputs clean JSON
      Plugin system for blocks
    Tech Stack
      TypeScript
      No framework required
      npm package
    Use Cases
      CMS content editing
      Note-taking apps
      Blog platforms
      Custom block types
    Audience
      Web developers
      Full-stack builders
      CMS creators
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a CMS where editors create blog posts with paragraphs, headings, and images, and you store the result as structured JSON for easy re-rendering.

USE CASE 2

Add a rich note-taking editor to your app that lets users write formatted content without generating unpredictable HTML.

USE CASE 3

Create a custom block type (e.g. a code snippet or tweet embed) by writing a simple Tool plugin and registering it with the editor.

USE CASE 4

Embed a distraction-free content editor into a React, Vue, or plain HTML page without pulling in a heavy framework dependency.

What is it built with?

TypeScriptJavaScript

How does it compare?

codex-team/editor.jsblakeblackshear/frigateianstormtaylor/slate
Stars31,73031,78031,670
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyhardeasy
Complexity2/54/53/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Install via npm as @editorjs/editorjs, each block type is a separate npm package you add individually.

Apache 2.0, use freely for any purpose including commercial projects, modify and redistribute with attribution.

So what is it?

Editor.js is a rich text editor for the web that is built around a block-based model rather than a traditional continuous document model. In most editors, the entire document is one blob of HTML, which makes it difficult to work with the content programmatically. Editor.js instead treats each element, such as a paragraph, heading, image, video, or list, as a separate self-contained block with its own data structure. When you save content, you get clean, structured JSON rather than a tangle of HTML. The editor works through a plugin system where each type of block is its own Tool. There are ready-made tools for common content types, and developers can write their own tools by implementing a simple API. Tools can also define inline formatting, like bold or links, that work within a block. The editor itself is the host that renders these tools and manages their order, keyboard navigation, and data collection. From the user's perspective, pressing Enter creates a new block, the Tab key opens a toolbox to choose a block type, and selected text reveals an inline formatting toolbar. Everything is keyboard accessible. You would use Editor.js when building a content management system, a note-taking application, a blog platform, or any interface where users create structured content that you need to store and re-render reliably. The block-based JSON output is easy to validate, transform, and display in different contexts compared to raw HTML. The tech stack is TypeScript, and it is installed via npm as @editorjs/editorjs. It runs in modern browsers and has no framework dependency, so it works in plain HTML pages as well as inside React, Vue, or Angular applications.

Copy-paste prompts

Prompt 1
I'm integrating codex-team/editor.js into a React app. Show me how to initialize the editor, capture the JSON output on save, and display it back as HTML.
Prompt 2
Using codex-team/editor.js, I want to build a custom block Tool for embedding YouTube videos. Walk me through the Tool API and the minimal code needed.
Prompt 3
I'm building a blog CMS with codex-team/editor.js. How do I configure it with only the paragraph, header, list, and image tools, and save the output to my backend?
Prompt 4
How do I add inline formatting (like a custom highlight color) to codex-team/editor.js without writing a full block tool?
Prompt 5
I have JSON output from codex-team/editor.js stored in my database. Show me how to render it as clean HTML on a public-facing page.

Frequently asked questions

What is editor.js?

Editor.js is a block-based web text editor that saves content as clean JSON instead of messy HTML, making it easy to store, transform, and display structured content reliably.

What language is editor.js written in?

Mainly TypeScript. The stack also includes TypeScript, JavaScript.

What license does editor.js use?

Apache 2.0, use freely for any purpose including commercial projects, modify and redistribute with attribution.

How hard is editor.js to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is editor.js for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.