No description
  • TypeScript 90.1%
  • HTML 5.6%
  • CSS 3.9%
  • JavaScript 0.4%
Find a file
JackUait c48898bb5b refactor: update inline tool interfaces and remove deprecated methods
- Refactored inline tool interfaces to use MenuConfig directly.
- Removed deprecated methods and properties from InlineTool and related types.
- Updated tests to reflect changes in inline tool handling and ensure proper functionality.
- Enhanced test coverage for inline tools, including link and italic tools.
- Cleaned up unused code and improved overall test structure.
2025-11-22 02:46:08 +03:00
.cursor/rules refactor: update inline tool interfaces and remove deprecated methods 2025-11-22 02:46:08 +03:00
.github imrovement(flipper): allow to select next/prev line by shift arrows (#2918) 2025-03-11 10:01:46 +03:00
.vscode refactor: update inline tool interfaces and remove deprecated methods 2025-11-22 02:46:08 +03:00
.windsurf/rules test: add missing coverage E2E tests 2025-11-16 23:46:42 +03:00
assets Update a readme (#2267) 2023-02-15 22:51:43 +03:00
docs refactor: update inline tool interfaces and remove deprecated methods 2025-11-22 02:46:08 +03:00
example refactor: clean up selection tests and remove unused rectangle selection logic 2025-11-18 03:56:47 +03:00
public/assets test: move ALL tests from Cypress to Playwright 2025-11-14 20:51:10 +03:00
src refactor: update inline tool interfaces and remove deprecated methods 2025-11-22 02:46:08 +03:00
test refactor: update inline tool interfaces and remove deprecated methods 2025-11-22 02:46:08 +03:00
types refactor: update inline tool interfaces and remove deprecated methods 2025-11-22 02:46:08 +03:00
.cspell.json test: add tests for inline-link-tool 2025-11-10 05:04:38 +03:00
.editorconfig Release 2.14 (#799) 2019-06-12 20:38:16 +03:00
.eslintignore test: move ALL tests from Cypress to Playwright 2025-11-14 20:51:10 +03:00
.gitignore test: add missing coverage E2E tests 2025-11-16 23:46:42 +03:00
.jscpdrc.json test: add tests for inline-link-tool 2025-11-10 05:04:38 +03:00
.npmignore fix(npm): ignore redundant files in sub-directories (#2307) 2023-03-16 12:08:15 +00:00
.nvmrc Create .nvmrc 2025-09-06 16:14:27 +03:00
.postcssrc.yml Use Vite builder (#2300) 2023-04-13 22:25:29 +03:00
.stylelintrc Release 2.0-beta (#387) 2018-08-05 14:51:58 +03:00
.yarnrc.yml fix: lint/typescript errors 2025-11-06 18:47:00 +03:00
CODEOWNERS fix(#2036): scrolling issue with block hovering (#2042) 2022-05-01 15:09:16 +03:00
eslint.config.mjs fix: get rid of all nested if statements 2025-11-15 04:49:30 +03:00
index.html feat(ui): placeholders updated (#2758) 2024-07-04 14:55:01 +03:00
LICENSE Release 2.16 (#966) 2019-11-30 23:42:39 +03:00
package.json fix: failing tests 2025-11-20 21:43:32 +03:00
playwright.config.ts fix: failing tests 2025-11-20 21:43:32 +03:00
README.md refactor: clean up selection tests and remove unused rectangle selection logic 2025-11-18 03:56:47 +03:00
tsconfig.build.json fix(types): tools export types added (#2802) 2024-08-09 18:04:57 +03:00
tsconfig.json fix: all typescript errors 2025-11-15 03:13:55 +03:00
tslint.json test: move ALL tests from Cypress to Playwright 2025-11-14 20:51:10 +03:00
vite-env.d.ts fix: lint/typescript errors 2025-11-06 18:47:00 +03:00
vite.config.mjs test: move ALL tests from Cypress to Playwright 2025-11-14 20:51:10 +03:00
vitest.config.ts fix: add unit tests and fix lint issues for sanitizer.ts 2025-11-11 04:36:18 +03:00
yarn.lock test: add missing test coverage 2025-11-16 07:32:01 +03:00

Editor.js Logo

editorjs.io | documentation | changelog

npm Minzipped size Backers on Open Collective Sponsors on Open Collective

About

Editor.js is an open-source text editor offering a variety of features to help users create and format content efficiently. It has a modern, block-style interface that allows users to easily add and arrange different types of content, such as text, images, lists, quotes, etc. Each Block is provided via a separate plugin making Editor.js extremely flexible.

Editor.js outputs a clean JSON data instead of heavy HTML markup. Use it in Web, iOS, Android, AMP, Instant Articles, speech readers, AI chatbots — everywhere. Easy to sanitize, extend and integrate with your logic.

  • 😍  Modern UI out of the box
  • 💎  Clean JSON output
  • ⚙️  Well-designed API
  • 🛍  Various Tools available
  • 💌  Free and open source
Editor.js Overview

Installation

It's quite simple:

  1. Install Editor.js
  2. Install tools you need
  3. Initialize Editor's instance

Install using NPM, Yarn, or CDN:

npm i @editorjs/editorjs

Choose and install tools:

See the 😎 Awesome Editor.js list for more tools.

Initialize the Editor:

<div id="editorjs"></div>
import EditorJS from '@editorjs/editorjs'

const editor = new EditorJS({
  tools: {
   // ... your tools
  }
})

See details about Installation and Configuration at the documentation.

Saving Data

Call editor.save() and handle returned Promise with saved data.

const data = await editor.save()

Example

Take a look at the example.html to view more detailed examples.

Roadmap

  • Unified Toolbars
    • Block Tunes moved left
    • Toolbox becomes vertical
    • Ability to display several Toolbox buttons by the single Tool
    • Block Tunes become vertical
    • Block Tunes support nested menus
    • Block Tunes support separators
    • Conversion Menu added to the Block Tunes
    • Unified Toolbar supports hints
    • Conversion Toolbar uses Unified Toolbar
    • Inline Toolbar uses Unified Toolbar
  • Collaborative editing
    • Implement Inline Tools JSON format
    • Operations Observer, Executor, Manager, Transformer
    • Implement Undo/Redo Manager
    • Implement Tools API changes
    • Implement Server and communication
    • Update basic tools to fit the new API
  • Other features
    • New cross-block selection
    • New cross-block caret moving
  • Ecosystem improvements
    • CodeX Icons — the way to unify all tools and core icons
    • New Homepage and Docs
    • @editorjs/create-tool for Tools bootstrapping
    • Editor.js DevTools — stand for core and tools development
    • Editor.js Design System
    • Editor.js Preset Env
    • Editor.js ToolKit
    • New core bundle system
    • New documentation and guides
Support Editor.js

Like Editor.js?

You can support project improvement and development of new features with a donation to our team.

Donate via OpenCollective
Donate via Crypto
Donate via Patreon

Why donate

Donations to open-source products have several advantages for your business:

  • If your business relies on Editor.js, you'll probably want it to be maintained
  • It helps Editor.js to evolve and get the new features
  • We can support contributors and the community around the project. You'll receive well organized docs, guides, etc.
  • We need to pay for our infrastructure and maintain public resources (domain names, homepages, docs, etc). Supporting it guarantees you to access any resources at the time you need them.
  • You can advertise by adding your brand assets and mentions on our public resources

Sponsors

Support us by becoming a sponsor. Your logo will show up here with a link to your website.

Mister Auto UPLUCID, K.K. Kane Jamison Content Harmony

Become a Sponsor

Backers

Thank you to all our backers

Become a Backer

Contributors

This project exists thanks to all the people who contribute.

Need something special?

Hire CodeX experts to resolve technical challenges and match your product requirements.

  • Resolve a problem that has high value for you
  • Implement a new feature required by your business
  • Help with integration or tool development
  • Provide any consultation

Contact us via team@codex.so and share your details

Community

About CodeX

CodeX is a team of digital specialists around the world interested in building high-quality open source products on a global market. We are open for young people who want to constantly improve their skills and grow professionally with experiments in cutting-edge technologies.

🌐 Join 👋 Twitter Instagram
codex.so codex.so/join @codex_team @codex_team