Open Editor
v1.1.0 on npmMIT licenseZero dependencies

The rich text editor with nothing to hide in your bundle.

Pure JavaScript. Zero dependencies. No license key. Smaller, safer, and more accessible than the editors you're comparing it against — with the measurements to prove every word of that sentence.

Try the live demoRead the docsnpm i openeditor-text
0
runtime dependencies

One package. Nothing else lands in your node_modules.

61 KB
core, minified + gzipped

Smaller than Jodit (~100 KB) and CKEditor (~200 KB+). Tree-shaken, measured, CI-gated.

2,800+
tests in CI

Unit, cross-browser e2e, XSS sweeps, axe accessibility audits, size budgets.

0
license keys or telemetry

npm install and go. The free tier never phones home. MIT.

Features

Everything in the box, nothing behind a key

Built for developers who are tired of “free” editors with paid unlock screens.

Modern UX

Slash commands, markdown-as-you-type, @mentions, to-do lists, block drag-reorder.

Security-first

Input and output sanitized: XSS vectors, URL schemes, mXSS double-parse — adversarially tested.

Accessible

WCAG 2.1 AA statement backed by an axe-core sweep of every surface, in CI.

19 plugins in the box

Images, tables, links, embeds, find & replace, source view, code blocks, and more — all free.

Speaks your language

Spanish, French, German, Arabic packs included; full RTL; bring-your-own locale.

Framework-native

Official React, Vue, and Angular wrappers — caret-stable controlled modes, proven live.

Skeptical? Good. See the feature-by-feature comparison — every row links to live proof.

Getting started

Up and running in seconds

Install from npm and add two lines of code. The toolbar, status bar, and all styling are injected by the editor itself.

Terminal
$ npm i openeditor-text
app.js
import { OpenEditor } from 'openeditor-text';

const editor = new OpenEditor('#editor', {
  placeholder: 'Write something…',
});

Prefer a one-liner? npx openeditors add text auto-detects your framework. Full configuration reference →

Integrations

Works with your stack

Official wrappers with the same contract everywhere: reactive value, theme, and readOnly; caret-stable controlled modes.

Plain JavaScript

openeditor-text

The zero-dependency engine — works anywhere

React / Next.js

openeditor-text-react

Caret-safe controlled mode, SSR-friendly

Vue 3

openeditor-text-vue

v-model binding out of the box

Angular 17+

openeditor-text-angular

ngModel + standalone component

Nothing to unlock. Nothing phoning home.

Every feature on this site is live in the demo right now — no trial, no key, no sales call.