basecamp/trix

A rich text editor for everyday writing

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 44 minutes ago
Added to GitGenius on September 2nd, 2026
Created on August 1st, 2013
Open Issues & Pull Requests: 188 (+0)
GitHub issues: Enabled
Number of forks: 1,134
Total Stargazers: 20,007 (+0)
Total Subscribers: 240 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 45
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 682 days
Stale 30+ days: 43
Stale 90+ days: 40

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • stale (9)
  • bug (1)
  • confirmed (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Trix is a rich text editor for web applications that provides WYSIWYG editing through a custom HTML element.

Trix solves the problem of inconsistent browser behavior in rich text editing by abandoning reliance on the contenteditable and execCommand APIs, which were designed decades ago and lack full specification. Instead, it treats contenteditable as an input device: when a user types or pastes, Trix converts that input into an operation on its own internal document model, then re-renders the result back to the editor. This approach gives the tool complete control over editing behavior after every keystroke and avoids browser quirks entirely. The editor outputs terse and consistent HTML and includes a sophisticated document model with support for embedded attachments.

Trix suits web applications that need straightforward rich text editing for messages, comments, articles, and lists—the kinds of everyday documents most web apps handle. It comes as a custom element that works with any asset packaging system, available in both ESM and UMD formats. The editor automatically expands vertically to fit content and can accept standard attributes like autofocus and placeholder. A toolbar is generated automatically but can be positioned elsewhere on the page if needed. The tool is built on established web standards including Custom Elements, Element Internals, Mutation Observer, and Promises, and supports all evergreen desktop and mobile browsers.

The project maintains active engagement with its codebase, regularly addressing issues and pull requests. Development shows consistent attention to browser compatibility and standards compliance. The maintainers continue to refine the editor's behavior and expand its capabilities based on user feedback and evolving web platform features.