Capability overview
How can I use reports and trusted preprocessors in Diff Anything?
Pro exports self-contained HTML, JSON, or Markdown review reports, unified diffs for text, and changed-row CSV for CSV comparisons. It 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….
- Self-contained HTML: one file with its styles included. It shows 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.
- Unified text diff: a standard patch, offered for Plain Text comparisons.
- 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.
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 and Local transform are both part of Pro.
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 and PDF previews show the first 3 pages. The free CLI supports text and JSON. A one-time Pro purchase removes the preview and session limits and unlocks larger sources within technical limits, saved profiles and history, report export, three-way merge, folder synchronization, batch manifests, trusted preprocessors, and every CLI mode.