Editor.js

Open source

The new block-styled editor that returns clean data output

Contribute


Become a financial contributor.

Financial Contributions

Recurring contribution

Backer

Support Editor.js with a small monthly donation and help us continue our work.

Starts at$2 USD / month

Latest activity by


+ 14
One-time contribution

Supporter

Become a supporter for any amount you choose and help us sustain our activities.

Starts at$10 USD

Latest activity by


+ 7
Recurring contribution

Sponsor 🎩

Become a Sponsor with a monthly donation form $100 and get your logo with a link to your site on the Github README and on front page of our website... Read more

Starts at$100 USD / month

Latest activity by


Product

Get the T-Shirt

LIMITED: 13 LEFT OUT OF 15

Donate to maintainers and get a cool T-Shirt with the Editor.js logo and personal postcard from CodeX.

$200 USD

Latest activity by


Membership

Gold Sponsor

Become a Gold Sponsor of Editor.js. We will add a special block with your logo on all pages of editorjs.io

$1,000 USD / month

Custom contribution

Donation

Make a custom one-time or recurring contribution.

Latest activity by


+ 47
Crypto contribution

Crypto Contribution

Make a crypto contribution.

Top financial contributors

Organizations

1
Humm

$1,000 USD since May 2019

2
Tesen Media Inc.

$730 USD since Dec 2019

3
Slid

$600 USD since Apr 2021

4
Shape & Shift

$190 USD since Apr 2020

5
Nodaq

$100 USD since Oct 2020

6
devfair

$50 USD since Jul 2020

7
Unicorn Platform

$50 USD since Feb 2021

8
Bazium

$30 USD since May 2019

9
Triplebyte

$24 USD since May 2019

10
Fair Spark Books Ltd

$20 USD since Jul 2020

Individuals

1
Dylan Jones

$2,000 USD since May 2019

2
Incognito

$300 USD since Jan 2020

3
Vaska

$100 USD since Jun 2019

4
Nathan Wittnam

$100 USD since Dec 2020

5
Vladimir Levandnij

$60 USD since Apr 2019

6
Ryan Chartrand

$50 USD since Nov 2019

7
Vladyslav Samarkin

$40 USD since Jun 2021

8
Tomoyuki Hata

$30 USD since Jan 2020

9
Chase Farmer

$24 USD since May 2019

10
Pelle Wessman

$22 USD since Jul 2019

Editor.js is all of us

Our contributors 57

Thank you for supporting Editor.js.

Dylan Jones

$2,000 USD

Love it!!!

Humm

Sponsor 🎩

$1,000 USD

Tesen Media I...

Sponsor 🎩

$730 USD

Slid

Sponsor 🎩

$600 USD

incognito

$300 USD

Thank you for maintaining the project!

Shape & Shift

$190 USD

Thanks for the great work. Would love to see th...

Budget


Transparent and open finances.

$
Today’s balance

$418.76 USD

Total raised

$4,943.75 USD

Total disbursed

$4,524.99 USD

Estimated annual budget

$1,383.62 USD

Connect


Let’s get the ball rolling!

News from Editor.js

Updates on our activities and progress.

15000 stars, version 2.20

Editor.js has reached over 15k stars 🤩 We thank you all! Have celebrated it by releasing the 2.20 version — meet the new long-awaited Block Tunes API. Similar with Tools represented Blocks, you can create Block Tunes and connect it to part...
Read more
Published on April 10, 2021 by Peter Savchenko

About


Editor.js is a block-styled editor for rich media stories. It outputs clean data in JSON instead of heavy HTML-markup. And more important thing is that Editor.js is designed to be API extendable and pluggable.

So there are few key features:

  • Clean data output
  • API pluggable
  • Open source

What does it mean block-styled

In other editors the workspace is provided by single contenteditable element in where you can create different HTML markup. All of us saw permanent bugs with moving text fragments or scaling images, while page parts are jumping and twitches. Or highlighting big parts of text in case when you just want to make few words to be a heading or bold.

Editor.js workspace consists of separate Blocks: paragraphs, headings, images, lists, quotes, etc. Each of them is an independent contenteditable element (or more complex structure) provided by Plugin and united by Editor's Core.

At the same time, most useful features as arrow-navigation, copy & paste, cross block selection and others works almost as in the familiar editors.

What is clean data

But more interest thing is, as mentioned above, that Editor.js returns clean data instead of HTML-markup. Take a look at the example.

{
    "time" : 1550476186479,
    "blocks" : [
        {
            "type" : "paragraph",
            "data" : {
                "text" : "The example of text that was written in <b>one of popular</b> text editors."
            }
        },
        {
            "type" : "header",
            "data" : {
                "text" : "With the header of course",
                "level" : 2
            }
        },
        {
            "type" : "paragraph",
            "data" : {
                "text" : "So what do we have?"
            }
        }
    ],
    "version" : "2.8.1"
}

As you can see, there are only data we need: list of structural Blocks with their content description.

You can use this data to easy render in Web, native mobile/desctop application, pass to Audio Readers, create templates for Facebook Instant Articles, AMP, RSS, create chat-bots and many other.

Also, clean data can be useful for backend processing: sanitizing, validation, injecting an advertising or other stuff, extracting Headings, make covers for social networks from Image Blocks and other.

API pluggable?

A key value of the Editor is the API. All main functional units of the editor — Blocks, Inline Formatting Tools, Block Tunes — are provided by external plugins that uses Editor's API.

We decide to extract all this Tools to separate scripts to make Editor's Core more abstract and make API more powerful. Any challenges and tasks you are facing can be implemented by you own plugins using the API.

At the same time, API is created to be easy-to-understand and simple-to-use.

Open Source?

Editor.js is more than just an editor. It is a big open-source community of developers and contributors. Anyone can suggest an improvement or bug fix. Anyone can create new cool API features and plugins.

We will support each developer of Editor.js plugins: best solutions will be collected to the awesome-lists and promoted to the community. Together we can create a big suite of different Blocks, Inline Tools, Block Tunes that can hit wide spectre of tasks.