A WYSIWYG editor that gives you back what you saw.
WYSIWYG is a promise about output: the document the author composes should be the document your application stores and renders. RichTextEditor keeps that promise with clean, predictable HTML and a preview stylesheet that renders saved content exactly as it was authored — on your own servers, under a perpetual license.
Three things people actually want.
Add one in three tags
No build step and no framework required — it is plain JavaScript, so it runs anywhere a <script> tag runs.
<link rel="stylesheet" href="/richtexteditor/rte_theme_default.css" />
<script src="/richtexteditor/rte.js"></script>
<script src="/richtexteditor/plugins/all_plugins.js"></script>
<div id="div_editor1">Start typing...</div>
<script>
var editor = new RichTextEditor("#div_editor1");
</script>Getting the document back out
Store it like any other user-submitted HTML — and sanitize it server-side before rendering it to other users. See why “nothing executes in the editor” is the wrong bar.
// What the author saw is what you store. var html = editor.getHTMLCode(); // Render it back with the same stylesheet the editor used and it looks // identical. This is the part most "WYSIWYG" editors leave to you: // <link rel="stylesheet" href="/richtexteditor/runtime/richtexteditor_preview.css" />
What is included in the base license
- AI Toolkit — Ask AI, AI Chat and AI Review, using your own provider key. No AI add-on fee.
- Review workflow — track changes, threaded comments and revision history.
- Documents — tables, footnotes, pagination, legal numbering, and Word (.docx) and tagged-PDF export.
- Real-time collaboration — per-node Yjs CRDT, self-hosted.
Competitors gate most of that behind premium tiers. The comparison pages lay out which features cost extra elsewhere, including the honest ties.
Framework guides: JavaScript, React, Vue, Angular, Svelte, Next.js, Blazor, ASP.NET Core, and PHP.