Capabilities macOSWindows

Compare more than text

Compare code, structured data, spreadsheets, folders, archives, documents, images, APIs, and binaries locally—with a view built for each.

Diff Anything application icon

Spot meaningful code changes with Smart Diff across 117 editor languages. Switch to Line Diff whenever you want an exact line-by-line review. Both views keep syntax highlighting and editing close at hand. Ignore rules leave timestamps, IDs, comments, or fixed columns out of a text comparison, and Align these lines pairs two lines by hand where the automatic match is not the one you want.

Semantic structured diffs

Compare JSON, YAML, TOML, INI, property lists, XML, CSV, OpenAPI, and JSON Schema by parsed keys, paths, rows, values, and compatibility rather than line position alone. Two files in different data formats, such as a JSON and a TOML file, are compared by their data, each read in its own format. Lists of records are matched by an id, _id, uuid, or key field automatically, numbers compare by value, XML and binary property lists compare alike, and XML elements are matched by a key attribute such as id or name, with readable XPath locations. API mode also provides explicitly limited contract review for GraphQL types and SQL CREATE TABLE definitions.

Read the complete feature guide
In the workflow
Select a mode

Cross-format spreadsheet comparison

Compare Excel (XLS, XLA, XLT, XLSX, XLSM, XLTX, XLTM, XLAM, and XLSB), OpenDocument (ODS and OTS), and Apple Numbers workbooks row by row—even when the two formats differ. Rows are matched by their content, so an inserted row is one added row and a changed row names the cells that changed on each side; Match rows by matches a sheet's rows by key columns instead, with duplicate keys reported as warnings. Formulas are compared between two workbooks of the same format, so a changed formula counts even when its result stays the same. Open a CSV or TSV file beside a workbook to check an export against the sheet it came from: the first sheet is used by default, and Compare with sheet picks another. Formatting, charts, macros, and workbook layout are not compared.

Read the complete feature guide
In the workflow
Review and resolve

Text editing and merge

Use side-by-side, inline, or top-and-bottom text views, edit either side, and apply selected changes. Reopen with encoding reads a file again in any of 45 encodings, including the EBCDIC code pages IBM037, IBM500, IBM1047, and IBM1140, and Save with encoding converts its encoding, byte-order mark, and line endings. Pro adds a three-way workspace for Base, Ours, and Theirs with focused Ours-against-Base and Theirs-against-Base diffs, conflict navigation, bulk Ours or Theirs choices, reset, automatic merging of independent lines and of edits to separate words of the same line, ordered conflict choices, and an editable merged result.

Read the complete feature guide
In the workflow
Save or automate

Folder and archive review

Compare folders in two-pane tree or table layouts with global search, status, size, and date filters, progressive loading, semantic nested-file comparison, moved-file detection, ignore patterns, optional .gitignore rules, and direct opening of nested pairs. Archives inside both folders, such as ZIP, JAR, TGZ, 7z, and RAR files, are compared entry by entry and expanded in the tree, and an archive can be compared with the folder it was extracted from. Archive mode compares normalized paths, types, sizes, link targets, and streamed SHA-256 hashes across ZIP/ZIP64/ZIPX and ZIP-based packages, 7z, RAR, TAR variants, Gzip, Bzip2, XZ, and Zstandard. It supports encrypted ZIP, 7z, and RAR archives plus multipart numbered 7z and common RAR volume sets, with separate in-memory passwords for each side, cancellation, and expansion safety limits; open changed text entries or extract them explicitly. Pro folder synchronization applies reviewed create, update, delete, and move plans transactionally with stale-result protection, progress, cancellation, metadata preservation, durable recovery, restart-safe rollback, and one-click undo.

Read the complete feature guide
In the workflow
Choose sources

Visual image comparison

Inspect PNG, JPEG, GIF, WebP, BMP, TIFF, Photoshop (PSD and PSB), SVG, HEIC, AVIF, camera RAW, and other images with thresholds, overlay, swipe, blink, heatmap, changed-pixel masks, true-pixel zoom, dimension alignment, and detailed error metrics. Draw ignore regions over a clock or other area that always changes, move the updated image by an offset or let Align automatically find the shift, and compare both images' metadata side by side.

Read the complete feature guide
In the workflow
Select a mode

Connected PDF review

Review rendered PDF pages, move between them, zoom the originals, or switch to extracted text. Visual diff compares page pixels, highlights changed regions, and reports a per-page visual-match percentage; selecting a wording difference keeps Extracted text active. Free shows the first 3 rendered page previews; Pro removes that preview cap.

Read the complete feature guide
In the workflow
Review and resolve

Document and binary inspection

Compare PDF pages visually or by extracted text, and extract comparable text from Word (DOCX, DOCM, DOTX, DOTM), PowerPoint (PPTX and related formats), OpenDocument text and presentations (ODT, ODP), and RTF. Word and OpenDocument text documents also show formatting changes where the text is the same: a word made bold, a new font, size, colour, or highlight, or a paragraph whose style, alignment, or list level changed, and Text changes, Formatting changes, or Both choose which are listed. Presentation differences are named by slide; other document differences are listed by line, with the changed words marked. Other files compare byte by byte in the hex view, with their metadata and supported image previews.

Read the complete feature guide
In the workflow
Choose sources

Repeatable review rules

JSON, YAML, TOML, INI, and property lists share the same semantic rules: ignored paths, keyed or unordered arrays, case behavior, and numeric tolerances, with recommended rules. Text and document comparisons take ignore rules for regular expressions, timestamp and ID presets, comments, and character columns. Pro saves them in profiles with reviewed states, notes, and live watch.

Read the complete feature guide
In the workflow
Select a mode

Reports and trusted preprocessors

Pro exports self-contained HTML reports that show text and document comparisons side by side or interleaved, folder reports that embed each changed text file, JSON and Markdown reports, unified diffs and folder patches with Git's headers, changed-row CSV for CSV comparisons, and JSON Patch or JSON Merge Patch for JSON, YAML, TOML, INI, and property list comparisons. Print… opens the report in your browser, which prints it or saves it as a PDF. Apply patch… previews a unified diff from diff -u or git diff hunk by hunk against a file or folder, and Pro writes it with undo. Pro can also run an explicitly confirmed local executable directly—without a shell—on two text sources before comparison.

Read the complete feature guide
In the workflow
Review and resolve

CLI, Git, and CI

The free CLI compares text, JSON, and Jupyter notebooks with terminal, summary, or JSON output, with the app's ignore rules. Pro unlocks every documented mode, including TOML, INI, property lists, and SQLite, reports, applying patches, and YAML/JSON batches that emit summary, JSON, JUnit, or SARIF, and --fail-on breaking fails an API schema check only on breaking or unclassified changes. Both tiers support colour, language, context, opt-in difference exit codes, Git difftool integration, and a Git diff driver assigned to file types in .gitattributes. With Pro, the merge driver merges JSON, YAML, TOML, and INI files by their data, and git mergetool opens each conflicted file in Diff Anything's merge window.

Read the complete feature guide
In the workflow
Save or automate

Local review workspace

Start each new comparison with the collapsible Differences pane visible, then work across tabs with search and filters, reviewed or ignored states, notes, a command palette, keyboard shortcuts you can change, Go to line, cancellable comparisons, diagnostics, density controls, and display scaling. Tabs reopen at the next launch with their comparison types, options, and views, and the interface is available in English, German, and French. Pro adds saved profiles and local history snapshots.

Read the complete feature guide
In the workflow
Choose sources

Accessible workspace

Press Command-Shift-A on a Mac or Control-Shift-A on Windows to turn a comparison into one ordered page: the sources, a summary, and every difference in words with its location, the change, and the original and updated values. Step through differences, search them, mark them reviewed or ignored, add notes, and apply supported changes from the keyboard. On a Mac it opens automatically when VoiceOver is running. It is included in the free plan; three-way merge is not part of it.

Read the complete feature guide
In the workflow
Review and resolve

Three-way merge and Git merge tool

With Pro, merge three versions of a file in one window and resolve each conflict there. JSON, YAML, TOML, and INI files merge by their data, value by value, keeping your side's comments and formatting, with conflicts only where both sides changed the same value differently. A file that already contains conflict markers from Git, Mercurial, or Subversion shows how many conflicts it has; with Pro, Resolve opens them in the merge workspace, and the resolved file is saved in its own encoding and line endings. git mergetool opens each conflicted file in Diff Anything's merge window and waits for Save & Close, with the Microsoft Store version on Windows and, on a Mac, through the free command-line helper.

Read the complete feature guide
In the workflow
Save or automate

Text ignore rules and sync points

Leave expected noise out of a text or document comparison: regular expressions that ignore matching text or whole matching lines, one-click presets for ISO 8601 and log timestamps, UUIDs, memory addresses, long numeric IDs, and durations, comments in languages whose comment syntax is known, and character columns, such as 1–6 or 73 to the end of the line, for fixed-width and mainframe files. Align these lines (Command-J on a Mac, Control-J on Windows) pairs a left line with a right line as a sync point, and the text before and after it is compared separately.

Read the complete feature guide
In the workflow
Choose sources

Hex comparison of binary files

Compare any two files byte by byte in a hex view: offsets, hex values, and printable characters in two panes that scroll together, aligned across inserted and deleted bytes, with gaps where only one file has bytes. Step through the changed ranges, jump with Go to offset, read the selected bytes in the data inspector, and scroll to any row of multi-gigabyte files.

Read the complete feature guide
In the workflow
Select a mode

SQLite database comparison

Compare two SQLite databases by their schema and their rows: tables, columns, indexes, views, triggers, and the database's encoding, user_version, and application_id, each difference named. Rows are matched by primary key, or by rowid with a note, and listed as added, removed, or changed with each changed column's value on both sides. Both databases are opened read-only, so nothing is written beside them, and a table selector and an aligned row grid show the chosen table.

Read the complete feature guide
In the workflow
Review and resolve

Jupyter notebook comparison

Compare two Jupyter notebooks (.ipynb) by their cells. Cells are matched by their content, so an inserted cell is one difference and the cells after it still match, and each difference names its cell, such as Cell 4 (code) changed or Cell 6 (code) moved to cell 9. Each cell's source is shown highlighted in the notebook's language; outputs, execution counts, and metadata are compared only when you ask.

Read the complete feature guide
In the workflow
Save or automate

Folder snapshots

Save snapshot… records a folder's entries, sizes, modification times, permissions, link targets, and SHA-256 hashes, with the members of the archives it holds, in a .dasnapshot file, never any file's content. Open the snapshot later as either side of a comparison to see what changed in the folder since, or compare two snapshots, with the same statuses, filters, reports, and accessible workspace as two folders.

Read the complete feature guide
In the workflow
Choose sources

Finder, File Explorer, links, and AppleScript

On a Mac, open files with Finder's Open With, drop them on the Dock icon, or choose Compare with Diff Anything under Quick Actions or Services; Compare Selected Text with Diff Anything compares text selected in another app. On Windows, the Microsoft Store version adds Compare with Diff Anything to the File Explorer context menu. Two selected items are compared at once, and one item waits for the other side. diffanything:// links open comparisons of files, folders, or texts from other apps and scripts on Mac and Windows, and AppleScript on a Mac compares files and reads the front comparison's difference counts.

Read the complete feature guide
In the workflow
Select a mode

See these capabilities in context.

Explore Diff Anything use cases
Free & Pro: what’s included

Available on the Mac App Store and Microsoft Store. Free desktop use lets you try every comparison engine for files up to 5 MiB per side and 10 new comparison sessions per local day; collection previews show the first 100 items, binary comparisons the first 100 byte differences, and PDF previews the first 3 pages. Plain text, JSON, and Jupyter notebook comparison are complete, and opening files from Finder or File Explorer, diffanything:// links, and AppleScript are free. The free CLI supports text, JSON, and notebooks, and the command-line helper that brings the CLI to the Mac App Store version is a free download that uses the Pro purchase made in the app. A one-time Pro purchase removes the preview and session limits and unlocks larger sources within technical limits, saved profiles and history, saving folder snapshots, report export and printing, JSON Patch export, applying patches, three-way merge and conflict resolution, the Git merge driver and merge tool, folder synchronization, batch manifests, every CLI mode, and, on Windows, trusted preprocessors.