Quill review: a small, BSD-licensed editor with a quiet release line
Quill is a BSD-3-Clause rich-text editor maintained by Slab, with a built-in toolbar and themes, a Delta document format and a module API; version 2.0, rewritten in TypeScript, shipped in April 2024, and every framework wrapper for it is community-maintained.
TL;DR
- Quill is a framework-agnostic rich-text editor under BSD-3-Clause, maintained in the slab/quill repository, with a toolbar, Snow and Bubble themes, a module API and the Delta format for describing both documents and changes.
- We measured quill 2.0.3 at 58.7 kB gzip for the default entry, which registers the standard formats, the toolbar, syntax and table modules and both themes — the lightest editor with a built-in interface in our bundle benchmark. Our benchmark application needed 8 lines.
- Every React, Vue and Angular wrapper is community-maintained, the original react-quill was last published in August 2022, and the latest quill release on npm is 2.0.3 from November 2024.
Quill quick facts
| Type | Library |
|---|---|
| Licence | BSD-3-Clause |
| First release | 2014-11 |
| Language | TypeScript |
| Frameworks | Any (framework-agnostic) |
| SSR support | Unverified |
| Bundle size (min+gzip) | 58.7 kB gzip |
| Pricing | Free (open source) |
| Self-hosted | Yes |
| White label | Yes |
| npm weekly downloads | 6,600,547 |
| GitHub stars | 47,348 |
| Latest version | 2.0.3 |
| Last verified | 2026-09-17 |
What Quill is, and who it is for
Quill sits between the two ends of the rich-text category. Unlike Tiptap or Lexical, it ships an interface: a toolbar, two themes and the pickers and tooltips they need. Unlike CKEditor 5 or TinyMCE, it is permissively licensed, small, and has no commercial tier attached.
That makes it a natural fit for the modest end of rich-text requirements: comment boxes, notes fields, support replies, simple article bodies. It is the wrong fit for block-style editing with drag handles and slash menus, and for teams that want a maintained first-party binding for their framework.
The npm package name has a history worth knowing: the registry's creation date reads March 2012 because an unrelated package held the name first. Quill's own releases start at 0.19.0 in November 2014, which is the date we record.
Architecture: Deltas, formats and modules
Three concepts carry most of Quill.
Deltas are the data format. The documentation describes them as able "to describe Quill's contents and changes", so the same structure represents a stored document and an edit applied to it.
Formats define what content can exist — headers, lists, links, code blocks — and are registered through Quill's registries, which is also how custom formats are added.
Modules customise behaviour. The documented built-ins are clipboard, keyboard, history, toolbar and syntax, and the modules guide walks through building your own.
Quill 2.0, announced by Slab in April 2024, moved the source to TypeScript.
Getting started
The file from our benchmark application, unedited: eight lines to a themed editor with a toolbar.
import Quill from 'quill';
import 'quill/dist/quill.snow.css';
const quill = new Quill('#app', { theme: 'snow' });
quill.setContents([
{ insert: 'Hello editor' },
{ insert: '\n', attributes: { header: 1 } },
{ insert: 'Type here.\n' },
]);
Quill 2.0.3 from the code above, screenshotted from our own build. The toolbar is the Snow theme's default; the initial content is written as a Delta.
The time-to-editor figure is not published yet. The application ran, but on a different machine from the time to first editor benchmark, and we do not put timings from two machines in one table.
Strengths
Small for what it includes. 58.7 kB gzip for the default build with both themes, lighter than Editor.js at 64.3 kB with no tools at all, and less than a sixth of TinyMCE's 393.9 kB.
Permissive licence, no upsell. BSD-3-Clause, no licence key, no hosted tier, no vendor branding in the editor we built.
A toolbar on install. Eight lines produce something a user can work with, which no headless framework offers.
Deltas. One format for documents and changes is a clean base for storing content, diffing it or applying edits from elsewhere.
Framework-agnostic. It mounts against a DOM element, so it works the same in any stack.
Limitations
No first-party framework bindings. React, Vue and Angular wrappers are all community projects,
and react-quill, the best-known, has not been published since August 2022. A React team either
adopts a fork or writes its own thin wrapper.
A quiet release line. 2.0.3 in November 2024 is the latest npm release. That is not proof of abandonment, but it is a risk to weigh against Tiptap or Lexical, both of which published npm releases in September 2026.
Not a block editor. No drag handles, no slash menu, no nested block model. Products that want the Notion-style experience should look at BlockNote.
Unverified areas. We could not confirm server-rendering guidance, UI localisation or AI features from Quill's documentation, so the dataset leaves those fields empty rather than guessing.
Customisation means Quill's own concepts. Deeper changes go through formats, registries and Delta handling, which is a separate mental model from the component systems most teams know.
Pricing
Free under BSD-3-Clause, with no commercial offering we could find. The costs are wrapper maintenance if you use a framework, and whatever you build beyond the default formats.
For the head-to-heads, see Quill vs Tiptap and Lexical vs Quill, and for the whole category, the rich-text editor comparison.
Who Quill fits, and who it does not
Good fit
- Comment boxes, notes fields and simple article bodies where a small, permissively licensed editor with a toolbar is enough
- Framework-agnostic products that want one editor in plain JavaScript and are willing to wrap it themselves
- Applications that benefit from Quill's Delta format, which describes both documents and changes to them as JSON operations
Poor fit
- React teams wanting a maintained first-party binding: the original react-quill package was last published in August 2022
- Block-style editing with drag handles, nested blocks or slash menus, which Quill does not provide out of the box
- Teams that need a steady release cadence, since the latest quill release on npm is from November 2024
Quill against its nearest neighbours
The closest products in the dataset by category, with the facts most people open three tabs to compare. Bundle sizes marked in kilobytes are our own measurements.
| Product | Licence | Bundle | Price from | Self-hosted |
|---|---|---|---|---|
| Quill | BSD-3-Clause | 58.7 kB gzip | Free (open source) | Yes |
| CKEditor 5 | GPL-2.0-or-later OR commercial | 161.2 kB gzip | from $144/mo | Yes |
| Editor.js | Apache-2.0 | 64.3 kB gzip | Free (open source) | Yes |
| TinyMCE | GPL-2.0-or-later OR commercial | 393.9 kB gzip | from $79/mo | Yes |
Alternatives to Quill
Each comparison below is a full write-up, not a feature grid: where each tool wins, and what moving between them costs.
Frequently asked questions
- Is Quill free for commercial use?
- Yes. Quill is BSD-3-Clause licensed, which permits use in closed-source commercial products with attribution, and we found no commercial tier or hosted service.
- Is Quill still maintained?
- Quill 2.0 shipped in April 2024 with the source moved to TypeScript, and 2.0.3 followed on 30 November 2024. No release has been published to npm since. Repository activity is collected by our daily metrics sync and shown on this page once it has run.
- How do I use Quill with React?
- Through a community wrapper or by mounting Quill against a ref in an effect. The original react-quill package's latest version, 2.0.0, was published in August 2022; react-quill-new is a community fork published more recently. Neither is maintained by the Quill project.
- How big is Quill?
- We measured quill 2.0.3 at 58.7 kB gzip (200.6 kB raw) for the default import, CSS excluded. That default already includes both themes and the standard formats, so unlike most editors in our benchmark, a realistic configuration is not much larger than the measured one.
- What is a Delta?
- Quill's documentation describes Deltas as a simple, expressive format that can describe Quill's contents and changes. A document is a Delta, and so is an edit to it, which makes change handling and storage consistent.
Sources and verification
Last verified: . Facts on this page were checked against the sources below on the date shown next to each one.
- npm registry metadata for quill (BSD-3-Clause; 2.0.0 on 17 April 2024 UTC; latest 2.0.3 on 30 November 2024; the name belonged to an unrelated package in 2012, and Quill's own releases begin at 0.19.0 in November 2014) — accessed 2026-09-17
- Quill LICENSE (BSD 3-clause, copyright Slab, Jason Chen and salesforce.com) — accessed 2026-09-17
- Slab blog: announcing Quill 2.0 (source fully transitioned to TypeScript) — accessed 2026-09-17
- Quill Delta documentation (a format describing Quill's contents and changes) — accessed 2026-09-17
- Quill modules documentation (clipboard, keyboard, history, toolbar, syntax) — accessed 2026-09-17
- Quill registries documentation (custom formats) — accessed 2026-09-17
- npm registry metadata for react-quill (community wrapper, 2.0.0 last published August 2022) — accessed 2026-09-17
- npm registry metadata for ngx-quill (community Angular wrapper) — accessed 2026-09-17
- npm registry metadata for @vueup/vue-quill (community Vue wrapper) — accessed 2026-09-17