finds.dev← search

// the find

slab/quill

★ 47,138 · TypeScript · BSD-3-Clause · updated Jul 2025

Quill is a modern WYSIWYG editor built for compatibility and extensibility

Quill is a browser-based rich text editor that stores document state as Delta — a JSON diff format rather than raw HTML. It's been around since 2014, hit v2 in 2024, and is actively maintained by Slab (who use it in their own product). Best fit for teams building collaborative or structured document editing into a web app.

Delta format is the real differentiator: ops-based document model makes programmatic manipulation and OT/CRDT collaboration tractable, unlike editors that just serialize innerHTML. The blot/Parchment abstraction lets you define custom content nodes with proper selection and formatting semantics — not just DOM hacks. Ships with specific normalizers for Google Docs and Word paste, which is the kind of unglamorous work that actually matters in production. Test suite includes fuzz tests against the Delta model and Playwright e2e, which gives more confidence than most editor projects.

Table support is the known weak spot — there are two separate implementations (table.ts and tableEmbed.ts) with different data models, which signals the problem was never fully solved. The Delta format, while powerful, creates a lock-in problem: migrating to another editor means writing a Delta converter, and most alternatives don't speak Delta. IME/composition handling in browsers is genuinely hard and Quill has had long-standing bugs here (the composition.ts module exists specifically to paper over them). No first-class React/Vue/Svelte wrappers in the official repo — you're expected to manage the imperative instance yourself or use a third-party wrapper.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →