Frequently Asked Questions

Is rich-html-editor a WYSIWYG editor?

No. rich-html-editor is intentionally not a generic WYSIWYG editor.

It is designed for controlled editing of existing HTML templates, not free-form content creation.

Can users edit any part of the HTML?

No. Only certain candidate content elements (paragraphs, headings, spans, etc.) can be edited; users enable editing by clicking or focusing those elements.

This interaction-driven model prevents accidental layout breakage and ensures structural integrity.

Why does the editor use an iframe?

The iframe provides strong isolation:

This is critical for predictable and safe editing behavior.

Can I use external URLs in the iframe?

This is strongly discouraged.

Cross-origin iframes prevent the editor from accessing the DOM due to browser security restrictions.

Use iframe.srcdoc or same-origin HTML instead.

Does rich-html-editor sanitize HTML?

Yes. When exporting HTML using editor.getHTML(), editor-specific attributes and unsafe markup are removed.

If templates come from untrusted sources, you should still sanitize input before loading them.

Can rich-html-editor be used in production?

Yes. rich-html-editor is designed for production use cases such as:

Is this a page builder like Elementor or Webflow?

No.

rich-html-editor does not provide drag-and-drop layout editing or design-time controls.

It focuses solely on safe content editing within predefined templates.

Can I customize the toolbar?

Toolbar customization is planned but currently limited.

See the Roadmap for upcoming features.

Does the editor support server-side rendering (SSR)?

The editor itself runs only in the browser.

However, it can be safely integrated into SSR frameworks by initializing it on the client after mount.

Where should I report bugs or request features?

Please use the GitHub repository:

👉 GitHub Issues

Next steps