Diff Anything Product manual

Choose the right comparison mode

Choose sources, understand automatic detection, and select the engine that answers the question you are actually asking.

Start here13 min read8 sectionsLast reviewed August 2026

Start with the review question

Choose a mode based on what must remain meaningful. Plain text is correct when formatting and exact lines matter; a semantic mode is better when keys, values, rows, types, or compatibility matter more than source layout.

The same two files can support different questions. A JSON text diff explains formatting changes, while semantic JSON explains changed paths and typed values.

  • Use text for source formatting and prose.
  • Use structured modes for data meaning.
  • Use folder or archive modes for release composition.
  • Use image mode for rendered visual output.

Choose and load sources

Open files or folders, paste content, or load a saved profile. Confirm left and right orientation before applying any change or copy action.

Source loading reports unreadable input rather than silently comparing empty content. Pasted input has no filename, so an explicit mode may be clearer.

Diff Anything source selection screen
The start screen keeps source choice explicit and local before a comparison mode is selected.

How automatic mode resolves

Auto examines both detected formats. Matching structured formats take priority, two folders resolve to folder mode, and other compatible content falls back to text.

Choose an explicit mode when an extension is misleading, content is pasted, or the review needs a specific semantic interpretation.

Read text and structured results

Text results retain normalized sources, line changes, navigation targets, totals, and the ignore settings needed to reproduce the comparison.

Structured results expose a stable path, change type, typed values, severity, and human-readable explanation for each difference.

  • Use keyed arrays when identity comes from a field.
  • Use unordered arrays when member order has no meaning.
  • Apply numeric tolerance only to paths where small variation is expected.
Diff Anything semantic JSON comparison with differences sidebar
Semantic comparison explains changed paths and values while keeping the source context available.

Keep code readable

For source code, Diff Anything detects presentation language from an explicit override, recognized filename or extension, content markers, and shebangs. Pasted or extensionless code can still receive highlighting when the content provides a conservative signal.

Shared extensions are disambiguated where possible, and framework templates can retain readable highlighting for embedded languages. The comparison remains a lossless text diff: highlighting improves review but does not turn source code into a semantic abstract-syntax-tree comparison.

  • Override the detected language when a file is intentionally unusual.
  • Use moved-block detection and compact context to follow structural edits.
  • Keep wrapping enabled when generated code or data contains long lines.

Resolve a three-way merge

For text sources with a shared starting point, open the Pro merge workspace and choose the common Base while the current left and right sources become Ours and Theirs.

Independent changes combine automatically. For overlapping edits, inspect the conflict and choose Ours, Theirs, Both, or Base. The merged result remains editable and cannot be used while unresolved conflict markers remain.

  • Confirm that Base is the true common ancestor.
  • Review automatically combined edits as well as explicit conflicts.
  • Resolve every remaining marker before using the merged result.

Recover from input problems

Parser errors include concise context and technical detail; JSON failures include line and column. Some engines can return partial results with warnings, while unreadable sources never become valid active inputs.

Fix the source or choose the correct explicit mode rather than weakening the comparison until malformed data appears valid.