Documentation

Everything you need to get the most out of Rewritr. If something's missing, email us or check the support page.


Installation

Rewritr is a Chrome extension available from the Chrome Web Store.

  1. Click Add to Chrome — Free on the homepage.
  2. In the confirmation dialog, click Add extension.
  3. The Rewritr icon (A→B) will appear in your toolbar. Pin it for easy access.
Permissions: Rewritr requests storage, activeTab, and scripting. It never accesses the network, never reads personal data, and all processing is local to your browser.

Quick start

  1. Open any webpage you want to modify.
  2. Click the Rewritr icon in the toolbar (or press Alt+Shift+F).
  3. In the Phrase / Pattern column, type the text you want to find.
  4. In the Rewrite to column, type what to replace it with.
  5. Click ▶ Apply.

The page will update instantly. You can add as many rules as you need.

Interface overview

The popup is divided into four areas:

  • Header — the Rewritr logo, the bookmark (🔖) button, the Apply button, and the Add Rule (+) button.
  • Global options — four toggles that apply to the entire replacement run.
  • Rules table — each row is one find/replace pair with four flag buttons and a delete button.
  • Footer — Import, Export, and Clear All buttons.

Basic rules

Each rule row has two inputs:

  • Phrase / Pattern — the text to search for. In regex mode this becomes a regex pattern.
  • Rewrite to — the replacement text. In regex mode, use $1, $2… for capture groups and $0 for the full match.

Rules are applied top-to-bottom in the order they appear. Reorder by deleting and re-adding if needed (drag-to-reorder is on the Pro roadmap).

Flags

Each rule has four optional flags you can toggle independently:

FlagLabelWhat it does
CsCase sensitiveMatches only the exact case you typed. Default is case-insensitive.
RxRegex modeTreats the Phrase column as a Unicode-aware JavaScript regular expression. Enables capture group syntax in the replacement.
WwWhole wordOnly matches the phrase when surrounded by non-letter/non-digit characters. Uses Unicode-aware word boundaries (\p{L}, \p{N}), not ASCII \b.
ScSmart casePreserves the capitalisation pattern of the matched text. Cloud → Fog, CLOUD → FOG, cloud → fog.
Note: Ww (whole word) is ignored in Regex mode — use explicit boundary assertions like (?<![\p{L}\p{N}_]) in your pattern instead.

Regex mode

When the Rx flag is active, the phrase is compiled as a RegExp with the g (global) and u (Unicode) flags automatically applied. The i flag is added unless Cs is also active.

Capture group example:

Pattern:     (\d{4})-(\d{2})-(\d{2})
Replacement: $3/$2/$1
Result:      2025-03-15  →  15/03/2025

Invalid patterns are highlighted in red on the phrase input and silently skipped at apply time — they will not affect other rules.

Smart case

Smart case (Sc) analyses the capitalisation of each individual match and mirrors it on the replacement:

  • cloud → fog (all lowercase)
  • Cloud → Fog (title case)
  • CLOUD → FOG (all uppercase)

Smart case works in both literal and regex modes.


Dynamic mode

By default, Rewritr replaces text that exists in the DOM at the moment you click Apply. Dynamic mode uses a MutationObserver to keep watching the page and re-applies your rules whenever new content is added — useful for infinite scroll feeds, chat applications, and single-page apps that update the DOM after load.

Performance: Dynamic mode adds a debounced observer (120 ms delay). It is efficient for typical pages but may slow down very complex SPAs that mutate the DOM hundreds of times per second.

Replace only in contenteditable

When this toggle is on, Rewritr skips all static read-only page text and only modifies text inside elements with contenteditable, role="textbox", or role="document". This is perfect for rewriting inside:

  • Google Docs / Google Slides
  • Notion pages
  • Email composers (Gmail, Outlook Web)
  • Any browser-based rich text editor

When off (default), replacements run across static DOM text and form inputs but skip contenteditable areas.

Skip <pre> and <code> tags

These toggles prevent replacements from touching content inside <pre> (preformatted blocks) and <code> elements respectively. Useful when reading documentation or code-heavy pages where you want text replaced in prose but not in code samples.


Bookmarks (saved rule sets)

Click the 🔖 icon in the header to open the bookmarks panel. You can:

  • Save current rules — click + Save Current, enter a name, and the entire rule set plus your global options are saved.
  • Load a set — click ⬇ Load next to any saved set to replace the current rules with that set.
  • Delete a set — click × next to any entry.

Bookmarks are stored in chrome.storage.sync and are automatically available across all your Chrome profiles if you are signed in to Chrome.

Import & Export

Rewritr stores rules as JSON. You can export and import them to back up your configuration or share it with others.

The JSON format is:

{
  "rules": [
    {
      "id": 1234567890,
      "phrase": "JavaScript",
      "rewrite": "TypeScript",
      "caseSensitive": false,
      "regex": false,
      "wholeWord": true,
      "smartCase": false
    }
  ],
  "options": {
    "dynamic": false,
    "skipPre": false,
    "skipCode": false,
    "replaceRich": false
  },
  "bookmarks": []
}

Import accepts any valid JSON file in this shape. Extra unknown keys are ignored.

Keyboard shortcut

Rewritr registers Alt+Shift+F as the default shortcut to open the popup from any tab.

To change it, go to chrome://extensions/shortcuts in your browser, find Rewritr, and set a custom key.

Language support

Rewritr is Unicode-first throughout:

  • All regex patterns use the u flag.
  • Word boundary detection uses \p{L} and \p{N} Unicode property escapes.
  • Input fields carry lang="mul" to suppress incorrect spell-check corrections.

This gives full support for Latin, Cyrillic, CJK, Arabic, Indic scripts, and more. See the language support breakdown for details on edge cases in German, Turkish, and Thai.