Editor.js — Block-Style WYSIWYG Editor
Write rich, structured content with a clean block-style editor: headings, lists, checklists, quotes, tables, code, and more, with clean JSON output. Runs entirely in your browser — nothing you write is ever uploaded.
Related tools
Write and edit Markdown in a live WYSIWYG editor with tables, task lists, code blocks, and slash commands, entirely in your browser.
Write and format rich text with a full WYSIWYG toolbar: headings, lists, colors, links, images, and more, entirely in your browser.
A rich-text WYSIWYG editor built on ProseMirror, with a full formatting toolbar for headings, lists, code blocks, and more, entirely in your browser.
Write Mermaid markdown-like syntax and see flowcharts, sequence diagrams, ER diagrams, Gantt charts, and more render live.
Draw, edit, and export images with a free, open-source recreation of classic Paint.
Sketch diagrams, wireframes, and hand-drawn-style illustrations on a virtual whiteboard, entirely in your browser.
About Editor.js — Block-Style WYSIWYG Editor
Editor.js is a free, open-source (Apache-2.0) block-styled editor by CodeX. Instead of one contenteditable blob, content is a series of blocks — headings, paragraphs, lists, checklists, quotes, tables, code, delimiters and more — and saving produces a clean JSON object per block rather than raw HTML. This is a self-hosted build of the project's own example demo; the editor core and its block tools load from the jsDelivr CDN and all editing happens client-side.
How to use
- Click into the editor and start typing; press Enter for a new block.
- Press Tab or click the + button to insert a block: header, list, checklist, quote, table, code, delimiter, image and more.
- Select text to open the inline toolbar for bold, italic, marker, inline-code and links.
- Click "editor.save()" to render the current document as clean JSON in the output panel.
Frequently asked questions
- Is my data uploaded anywhere?
- No. Everything you type is edited and serialized entirely in your browser — nothing you write is sent to a server by this site.
- Does it make any external network calls?
- Yes, at load only: the Editor.js core and its block-tool plugins are fetched from the jsDelivr CDN. Your document content is never transmitted.
- What output format does it produce?
- A structured JSON object with a typed data block for each piece of content — not HTML — which is easy to validate, sanitize and render on any platform.