ngx-editor and ngx-quill are Angular libraries designed to integrate rich text editing capabilities into web applications. ngx-quill is a well-established wrapper around the QuillJS library, offering a robust set of features and active maintenance. ngx-editor typically refers to a lighter-weight alternative that often relies on native contenteditable elements, providing a simpler setup with fewer dependencies. Both aim to solve the complex problem of WYSIWYG editing, but they differ significantly in architecture, feature depth, and long-term support.
Both ngx-editor and ngx-quill enable rich text input in Angular apps, but they take different approaches. ngx-quill wraps a mature external library, while ngx-editor often provides a thinner wrapper around native browser capabilities. Here is how they compare in real-world engineering scenarios.
ngx-quill bundles the full QuillJS library.
// ngx-quill: Module import
import { QuillModule } from 'ngx-quill';
@NgModule({
imports: [QuillModule.forRoot()]
})
export class AppModule {}
ngx-editor typically relies on native contenteditable.
contenteditable may require extra polyfills or fixes.// ngx-editor: Module import
import { NgxEditorModule } from 'ngx-editor';
@NgModule({
imports: [NgxEditorModule]
})
export class AppModule {}
ngx-quill uses a modular configuration system.
// ngx-quill: Config object
const config = {
modules: {
toolbar: [
['bold', 'italic'],
['link', 'image']
]
},
theme: 'snow'
};
<!-- ngx-quill: Template usage -->
<quill-editor [modules]=
Choose ngx-editor if you need a lightweight solution with minimal dependencies and your formatting requirements are basic. It is suitable for simple comment sections or bio fields where bundle size is a critical concern. However, you must verify the specific maintainer's activity before committing, as multiple packages share this name and support varies.
Choose ngx-quill if you require a feature-rich editor with support for complex formats, custom modules, and stable long-term maintenance. It is ideal for content management systems, blogs, or any application where users need reliable rich text tools. The trade-off is a larger bundle size due to the underlying QuillJS library.
The Rich Text Editor for Angular, Built on ProseMirror
A simple rich text editor for angular applications built with ProseMirror. It is a drop in and easy-to-use editor and can be easily extended using prosemirror plugins to build any additional or missing features
demo | edit on stackblitz | documentation | migrating from other editors
Install via Package managers such as npm or pnpm or yarn
npm install ngx-editor
# or
pnpm install ngx-editor
# or
yarn add ngx-editor
Note: By default the editor comes with minimal features. Refer the demo and documentation for more details and examples.
Component
import { NgxEditorComponent, NgxEditorMenuComponent, Editor } from 'ngx-editor';
import { FormsModule } from '@angular/forms';
@Component({
selector: 'editor-component',
templateUrl: 'editor.component.html',
styleUrls: ['editor.component.scss'],
standalone: true,
imports: [NgxEditorComponent, NgxEditorMenuComponent, FormsModule],
})
export class NgxEditorComponent implements OnInit, OnDestroy {
html = '';
editor: Editor;
ngOnInit(): void {
this.editor = new Editor();
}
ngOnDestroy(): void {
this.editor.destroy();
}
}
Then in HTML
<div class="NgxEditor__Wrapper">
<ngx-editor-menu [editor]="editor"> </ngx-editor-menu>
<ngx-editor
[editor]="editor"
[ngModel]="html"
[disabled]="false"
[placeholder]="'Type here...'"
></ngx-editor>
</div>
Note: Input can be a HTML string or a jsonDoc
Mostly works on all Evergreen-Browsers like
See https://sibiraj-s.github.io/ngx-editor/#/collab
Icons are from https://fonts.google.com/icons
All contributions are welcome. See CONTRIBUTING.md to get started.