Repolode
codex-team

codex-team/editor.js

A block-style text editor for the web that saves content as clean JSON instead of HTML, extended through plugin tools.

Open-source alternative to:Notion

Stars
31,970
Forks
2,244
Open issues
711
Last commit
3 hours ago

What is it?

Editor.js is an open-source block-based editor for the web. Content is composed of blocks such as text, headings, images, lists, quotes and code, and each block type is provided by a separate tool plugin.

Instead of producing HTML markup, the editor outputs structured JSON. That data can be sanitized, stored, and rendered on any platform, including web, iOS, Android and other clients, which makes it suitable for content pipelines that need a predictable data format. Calling editor.save() returns a promise with the current content.

The project is distributed on npm as @editorjs/editorjs and is written in TypeScript. A set of official tools covers headings, quotes, images, checklists, tables, embeds and more, and an awesome list collects third-party tools.

Key features

  • 01Outputs clean JSON data instead of HTML markup
  • 02Block-style interface for adding and rearranging content
  • 03Each block type is provided by a separate plugin tool
  • 04Official tools for headings, images, tables, checklists and embeds
  • 05Simple API with editor.save() for retrieving content

Use cases

  • Building a rich-text content editor whose output is stored and rendered on multiple platforms
  • Adding a structured article or blog editor to a web application
  • Creating a custom editor by writing your own block tools

Quick start

  1. 1

    Install Editor.js with npm

    npm i @editorjs/editorjs
  2. 2

    Install the tools you need from the list in the README

  3. 3

    Add a container div with id editorjs to your page

  4. 4

    Import EditorJS and create an instance with your tools

Things to know

  • Each block type needs a separate tool plugin, so you must install and configure the tools you want.
  • Saving content requires calling editor.save() and handling the returned Promise.

Topics

FAQ

What is editor.js?
A block-style text editor for the web that saves content as clean JSON instead of HTML, extended through plugin tools. Editor.js is an open-source block-based editor for the web. Content is composed of blocks such as text, headings, images, lists, quotes and code, and each block type is provided by a separate tool plugin.
Is editor.js free to use? What license does it have?
editor.js is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is editor.js still maintained?
Actively maintained. The last commit to editor.js was on Oct 21, 2026.
What can I use editor.js for?
Building a rich-text content editor whose output is stored and rendered on multiple platforms Adding a structured article or blog editor to a web application Creating a custom editor by writing your own block tools
How do I install editor.js?
Install Editor.js with npm: npm i @editorjs/editorjs Install the tools you need from the list in the README Add a container div with id editorjs to your page Import EditorJS and create an instance with your tools
Where can I get editor.js?
The source code and installation instructions are on GitHub: https://github.com/codex-team/editor.js

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects