---
title: "Track changes in your editor"
description: "Enable track changes and suggestion mode in your Tiptap editor for collaborative editing and document review."
canonical_url: "https://tiptap-docs.lin52025i.qzz.io/tracked-changes/getting-started/overview"
---

# Track changes in your editor

Enable track changes and suggestion mode in your Tiptap editor for collaborative editing and document review.

- **1. Get the add-on**

  Tracked Changes is a paid add-on that isn't included in any plan. Test it during your [free
  trial](https://cloud.tiptap.dev/v2?trial=true) or purchase it in [your
  dashboard](https://cloud.tiptap.dev/v2/billing).
- **2. Access the private registry**

  The Tracked Changes extension is published in Tiptap's private npm registry. Authenticate to
  Tiptap's private npm registry by following the [setup guide](https://tiptap-docs.lin52025i.qzz.io/guides/pro-extensions.md).
- **3. Install the extension**

  Install the extension from the private registry using npm or your preferred package manager.

The Tracked Changes extension enables suggestion mode for collaborative editing workflows. When enabled, all edits appear as proposals that can be accepted or rejected, similar to change tracking in word processors.

> **Interactive demo:** [TrackedChanges](https://embed-pro.tiptap.dev/preview/Experiments/TrackedChanges)

## Features

The extension tracks eight types of changes:

- **Insertions** (`add`) — New content added to the document
- **Deletions** (`delete`) — Existing content marked for removal
- **Replacements** (`replace`) — Content that was simultaneously deleted and replaced with new content
- **Mark changes** (`markChange`) — Formatting or other mark-level changes applied to existing text
- **Attribute changes** (`attributeChange`) — Updates to existing node attributes, such as an image's `src` or a custom node's configuration
- **Block splits** (`split`) — End-of-block splits use `splitKind: 'insertion'`. Splits in existing content use `splitKind: 'structural'`.
- **List indents** (`sink`) — A list item nested one level deeper with Tab
- **List outdents** (`lift`) — A list item moved one level out with Shift-Tab

Each suggestion carries metadata including who created it, when it was created, and a unique identifier.

## Key capabilities

- **Suggestion mode** — Toggle tracking on and off per user
- **Accept and reject** — Review suggestions individually, in bulk, by range, or by user
- **Suggestion grouping** — Continuous edits are automatically merged into single suggestions
- **Block split tracking** — Accept and reject insertion splits and structural splits independently
- **Nested suggestions** — Cross-author edits inside a pending suggestion stack as their own suggestions instead of overwriting it
- **Collaboration ready** — Works with Yjs-based real-time collaboration
- **Comments integration** — Link suggestions to comment threads for review workflows
- **Atom node support** — Tracks changes to images, horizontal rules, and other non-text content
- **Table support** — Tracks row, cell, and column insertions and deletions, including cell selections
- **Full query API** — Find, filter, and inspect suggestions programmatically

## Next steps

- [Install the extension](https://tiptap-docs.lin52025i.qzz.io/tracked-changes/getting-started/install.md) to get started
- Learn about [basic usage](https://tiptap-docs.lin52025i.qzz.io/tracked-changes/usage/basic-usage.md) patterns
- Explore the [commands](https://tiptap-docs.lin52025i.qzz.io/tracked-changes/api-reference/commands.md) and [utilities](https://tiptap-docs.lin52025i.qzz.io/tracked-changes/api-reference/utilities.md) API
