Capability overview
How can I use reports and trusted preprocessors in Diff Anything?
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.
Local transform runs a program installed on the computer, such as jq, xmllint, or Black. The app does not include these programs. The Mac App Store version runs in Apple's App Sandbox, which limits it to files and folders you choose in the app, so Local transform is described for the Microsoft Store version on Windows.

Report formats
Choosing a report for the person who will read it
Click Export in the toolbar and choose a Report format. The button is available once a comparison has at least one difference, and nothing is written until you pick a place with Choose Save Location….
- HTML differences table: one file with its styles included, with the summary counts and a table with each location, type, both values, description, and review status.
- JSON report: the same content for scripts and other tools.
- Markdown review report: text that reads well in a pull request, ticket, or wiki page.
- Self-contained HTML of a text or document comparison: the two files side by side, or interleaved like a unified diff, with line numbers, changed words marked, and unchanged lines collapsed around each change or the whole files shown. A folder report can embed the side-by-side comparison of each changed text file.
- Unified text diff: a standard patch of two texts or documents, or of a folder comparison with Git's headers, which git apply or Apply patch… can apply to the left folder.
- JSON Patch (RFC 6902) and JSON Merge Patch (RFC 7386): offered for JSON, YAML, TOML, INI, and property list comparisons; Copy as JSON Patch in the command palette puts the patch on the clipboard.
- CSV changed rows: a spreadsheet-friendly list with review status and note columns, offered for CSV comparisons.
What goes in
Controlling what a report contains
Include only differences marked reviewed limits the report to the items you have approved, which turns a long comparison into a short sign-off list. Review status and notes are part of every report, so the reason for each decision travels with it.
For environment files, Redact environment values is on by default. If you turn it off, the app asks for confirmation before it writes a report containing real values.
Print… (Command-P or Control-P) opens the HTML report in your default browser, whose print dialog prints it or saves it as a PDF. If the browser cannot open it, Show the report file shows the report in Finder or File Explorer.
Local transform
Normalizing both sides with a tool you already use
Some files only become comparable after a formatter has run on them. Open Tools and choose Local transform. Enter the program and its arguments, or choose a preset: JSON · jq sorted keys, XML · xmllint format, or Python · Black stdin. The presets only fill in the fields; the program itself must already be installed.
Run trusted transform asks for confirmation, then passes each side's text to the program and uses its output as the new left and right content. Undo brings the original text back. The transformed text is marked Modified, so save it only if you want the formatted version written to the file. No shell is involved, so arguments are split on spaces and pipes or variables do not work. A run stops after 30 seconds, input is limited to 20 MB and output to 32 MB, and the output must be UTF-8 text. If the program fails, its error message is shown.
Reports, printing, and Local transform are part of Pro.
Applying patches
Previewing and applying a patch someone sent you
Apply patch… reads unified diffs from diff -u and git diff, including Git's new, deleted, renamed, and copied files, and previews them against a file or folder before anything is written: where each hunk applies, with what offset or fuzz, or why it failed. Compare opens a file and its patched text as an ordinary comparison.
Previewing is free. With Pro, Apply patch writes the result, after checking that no file changed since the preview, and Undo patch gives back what the patch replaced.
Report readers
Matching the report to the person who receives it
The HTML report is a single file, so a client, auditor, or manager can open it in a web browser without installing Diff Anything. Its header names the two sources, the comparison mode, and when the report was generated, which keeps an old report from being mistaken for a new one.
The JSON report suits a script that checks the counts or copies the list into another system. CSV changed rows opens in any spreadsheet program, where the reviewStatus and reviewNote columns can be sorted and filtered. The Markdown report is plain text, so it can be pasted into a pull request, a ticket, or a chat message and read as it is.
In the workflow
How to use it
Prepare the sources
If formatting gets in the way, run a Local transform so both sides use the same layout.
Review the result
Mark each difference Reviewed or Ignore and add notes where a decision needs a reason.
Choose a format
Pick HTML for people, JSON for tools, Markdown for a pull request, or the patch and CSV options where offered.
Export
Decide whether to include only reviewed items, then choose where to save the report.
Useful in practice
When to use it
Related manual
Profiles, rules, review state, and reports
Turn a useful one-off comparison into a repeatable review with explicit ignore rules, notes, and, with Pro, saved profiles and exported reports.
Read the guideDirect answers
Questions about reports and trusted preprocessors.
Which report format should I attach to a pull request?
Markdown review report. It pastes cleanly into most code review tools and includes review status and notes.
Can I send an .env comparison without leaking secrets?
Yes. Redact environment values is on by default for environment files, and turning it off requires confirmation.
Why do my quoted arguments not work in Local transform?
The program is started directly without a shell, and arguments are split on spaces. Use arguments without quotes or shell syntax.
Does the app include jq, xmllint, or Black?
No. The presets fill in the command for you, but the program must be installed on your computer.
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.