Squire is a rich text editor for arbitrary HTML that prioritizes cross-browser compatibility and minimal footprint without external dependencies.
Squire solves the problem of editing email composition and forwarded messages that contain third-party HTML, which most modern editors cannot handle well. Rather than imposing a structured internal data model that would limit what HTML it can accept, Squire keeps the HTML as the source-of-truth and normalizes it across browsers. This approach allows it to preserve formatting from arbitrary sources while remaining lightweight at only 16KB after minification and gzip compression. The tool handles multiple levels of blockquotes particularly well, a consequence of its email-focused design.
Squire suits projects where you need to edit and preserve arbitrary HTML without bloat, especially email composition systems. It is designed to integrate with your own UI framework rather than provide its own toolbar or widgets, so you get a component you can insert in place of a textarea and manipulate programmatically. This means you control the UI entirely and avoid loading duplicate UI toolkits. The tool supports all reasonably recent browsers but no longer supports Internet Explorer. If you need a self-contained editor with built-in UI controls, other editors may be more suitable, but if you want a lightweight, framework-agnostic editing component that respects arbitrary HTML, Squire's approach is distinctive.
The project maintains active production usage across multiple email services and other applications. Development includes regular bug fixes and enhancements to handle edge cases in HTML normalization. The maintainers actively track real-world usage and welcome reports of new applications using the tool. The codebase remains focused on its core mission of reliable HTML editing without feature creep, as evidenced by the deliberate choice to exclude built-in UI components.