RibbonDiff — User Guide

Step-by-step help for the RibbonDiff macOS app.

👑 marks a Pro feature (available in Pro Trial or Pro Lifetime). Click the crown for details.

RibbonDiff is a side-by-side, editable diff tool for macOS. You can type or paste text, or open files 👑 in two panes, edit either side, and RibbonDiff continuously updates a visual diff. A center “ribbon” links corresponding changed blocks, helping you follow what moved or changed as you scroll.

Contents

1. Quick start

  1. Put content in both panes

    • Paste text into Text 1 (left / Original) and Text 2 (right / Modified), or
    • Drag a file from Finder onto the left or right pane 👑.
    • Click inside a pane and choose File → Open… (⌘O) 👑.
    • From Terminal, open two files at once with open -a RibbonDiff old.txt new.txt 👑.
  2. Edit freely

    • Both panes are fully editable. The diff updates automatically as you type or paste.
  3. Use the ribbon to stay oriented

    • The middle ribbon visually connects matching change blocks between the left and right panes.

2. Interface at a glance

Top controls

Pane header (each side)

Each pane has a header row containing:

The editors + ribbon

3. Comparing text (how the diff is shown)

RibbonDiff highlights changes using configurable colors:

4. Opening files 👑

Drag and drop (Finder → pane)

Overwrite protection RibbonDiff avoids overwriting text accidentally:

If a pane is file-backed and has no unsaved edits, RibbonDiff will offer a Replace confirmation.

Open from the menu (⌘O)

RibbonDiff applies the same overwrite rules as drag-and-drop.

Open from Finder (double-click / “Open With…”)

Open from Terminal (CLI)

You can open files from the command line using macOS's built-in open command:

open -a RibbonDiff /path/to/old.txt /path/to/new.txt

If your file paths contain spaces, quote them:

open -a "RibbonDiff" "Old File.txt" "New File.txt"

Tab/window behavior (overwrite protection)

Advanced: reuse modes (CLI wrappers)

Some CLI wrappers can request a different reuse policy when opening files. RibbonDiff reads this policy from an optional control file included in the same open request.

Note: When using Reuse or Force Reuse, opening 3+ files (multiple pairs) may reuse the same tab repeatedly. In that case, the last pair wins. Use Automatic if you want each pair to open in its own new tab/window.

Control file requirements

Example (create a control file, then open two files):

echo '{"mode":"reuse","version":1}' > /tmp/.ribbondiff-cli--control.json
open -a RibbonDiff /tmp/.ribbondiff-cli--control.json old.txt new.txt

5. Saving files 👑

RibbonDiff saves per pane (whichever pane is active).

Save (⌘S)

Save As (⇧⌘S)

Line endings and encoding

RibbonDiff focuses the diff on text content, not file storage details. Line endings and character encodings are normalized internally, so two files can compare as identical even if they use different line-ending styles or different Unicode encodings.

Line endings

Text encoding

Supported encodings

These options appear in the per-pane Encoding badge menu:

Category Encodings
Unicode UTF-8, UTF-8 (with BOM), UTF-16, UTF-16 Little Endian, UTF-16 Big Endian, UTF-32, UTF-32 Little Endian, UTF-32 Big Endian
Japanese Shift_JIS, EUC-JP, ISO-2022-JP, x-mac-japanese
Chinese GB18030, GBK, GB2312, HZ-GB-2312, Big5, Big5-HKSCS
Korean EUC-KR, CP949
Western Windows-1252, MacRoman, Windows-1250 (Central European), Windows-1251 (Cyrillic), Windows-1253 (Greek), Windows-1254 (Turkish), Windows-1257 (Baltic), ISO-8859-1 (Latin-1), US-ASCII
Middle Eastern Windows-1255 (Hebrew), Windows-1256 (Arabic)
Southeast Asian Windows-874 (Thai), Windows-1258 (Vietnamese)

Tip: When you're comparing clipboard text (not a file), the pane defaults are typically LF + UTF-8 for saving.

6. Unsaved changes behavior

RibbonDiff tracks unsaved edits independently for each pane.

Note: The close prompt is intentionally "no-save" — save the relevant pane(s) first using ⌘S or ⇧⌘S 👑.

7. Find (search) in either pane

Each pane has its own Find field.

Basic use

  1. Type a query into the Find field.
  2. Matches are highlighted (case-insensitive).
  3. Press Return in the Find field to jump to the next match.

Keyboard shortcuts

Active pane rule Find actions apply to whichever side is active:

8. Syntax highlighting

RibbonDiff includes built-in syntax highlighting and automatic language detection.

Auto vs manual

Supported languages (badge)

Markdown fenced code blocks

In Preferences you can choose whether Markdown fenced blocks (``` / ~~~) are highlighted using the language tag after the fence (e.g. ```swift).

9. Word wrap and line numbers

Word wrap

Important: Wrap is per window, not global. Preferences only set the default for newly opened editor windows.

Line numbers

Enable/disable line numbers independently for:

You can change this in Preferences.

10. Preferences and themes

Open Preferences from the app menu:

General

Appearance

System backgrounds automatically follow macOS Light/Dark Mode.

Syntax

Changes are saved automatically.

Theme

RibbonDiff supports:

Theme list tips:

Actions you may see:

Pro

If you previously purchased RibbonDiff as a paid App Store download, it should automatically unlock Pro Lifetime on the same Apple ID. If it doesn't, open RibbonDiff → Settings… → Pro and use Restore Purchases.

11. Importing and exporting themes (advanced)

Themes can be imported/exported as JSON.

Import a theme

  1. Open Preferences → Theme
  2. Click Import Theme…
  3. Choose a theme .json file

The imported theme is added to User Themes and applied.

Export a theme

  1. Open Preferences → Theme
  2. Click Export Theme…
  3. Enter a theme name (stored in the JSON as Name)
  4. Choose a save location

The Export button saves the current theme's settings to a JSON file.

The exported JSON includes:

12. Keyboard shortcuts reference

Action Shortcut Notes
New Tab ⌘T Creates a new tabbed comparison window
Open… 👑 ⌘O Opens into the active pane
Save 👑 ⌘S Saves the active pane
Save As… 👑 ⇧⌘S Saves the active pane to a new file
Close Window/Tab ⌘W Prompts if there are unsaved changes
Find… ⌘F Focus Find for the active pane
Find Next ⌘G Active pane
Find Previous ⇧⌘G Active pane
Toggle Wrap ⌥⌘W Window-local

13. Troubleshooting

"Can't open file"

Common reasons:

Fix:

Opening from Finder/Terminal created a new tab

When you open files from Finder (double-click / Open With…) or from Terminal (open -a RibbonDiff …), RibbonDiff protects your current comparison.

Text looks garbled (wrong encoding)

If a file opens with unreadable characters (mojibake), it was likely decoded with the wrong encoding.

"Theme Import Failed"

Syntax highlighting looks disabled

RibbonDiff may skip syntax highlighting for very large texts to keep editing responsive.

14. Pro access (trial and lifetime)

RibbonDiff is free to download and use in Limited mode. File workflows are available with a one-time Pro Lifetime unlock, or a one-time free Pro Trial (7 days). 👑 marks Pro features throughout this guide.

Feature Limited (Free) Pro Trial (7 days) Pro Lifetime
Compare typed / pasted text
Open files from disk
Drag & drop files
Save pane contents to disk (⌘S / ⇧⌘S)
Restore Purchases

7-day Pro Trial: The trial starts when you tap “Start 7-Day Pro Trial” and lasts 7 days. When it ends, RibbonDiff returns to Limited mode (file open/drag-drop/save are disabled) unless you unlock Pro Lifetime. There are no automatic charges when the trial ends.

Start the Pro Trial

  1. Open RibbonDiff → Settings… and select Pro.
  2. Click Start 7-Day Pro Trial.

Unlock Pro Lifetime

Open RibbonDiff → Settings… → Pro and click Unlock Pro Lifetime. This is a one-time purchase tied to your Apple ID.

Restore purchases

If you previously purchased Pro Lifetime (or bought RibbonDiff when it was a paid App Store app), restore access from Settings → Pro → Restore Purchases. Make sure you're signed into the same Apple ID that made the original purchase.

Legacy paid customers

If you purchased RibbonDiff when it was a paid App Store download, the app automatically migrates you to Pro Lifetime on the same Apple ID. If it doesn't show as unlocked right away, use Restore Purchases.

Last updated: 2026-02-16