Diff Anything 1.2 lets you try every desktop comparison mode with Free previews, then inspect changes in structured files, images, and documents using a view suited to each format.
Compare configuration values, review PDF wording and page changes, or check a folder before a handoff. You can start with a representative pair of files before deciding whether Pro fits your work.
01 / Try the complete range
Every desktop comparison engine now has a Free preview
Free is no longer limited to choosing only text or JSON in the desktop app. You can open YAML, XML, CSV, environment files, HTTP responses, API schemas, folders, archives, PDF and Office documents, images, and binary files before deciding whether Pro fits your workflow.
The boundary is explicit: Free accepts files up to 5 MiB per side and 10 new comparison sessions per local day. CSV, folder, and archive previews show the first 100 rows or items, and PDF review shows the first 3 rendered page previews. Reworking rules or rerunning the same source pair in its tab does not consume another session.
Pro removes those preview and session limits within the app's technical safety limits. It also unlocks saved profiles, live watch, history, report export, three-way merge, folder synchronization, trusted preprocessors, every CLI mode, and batch manifests. The Free CLI remains focused on text and JSON.

02 / Preserve meaning
Structured comparisons keep more of the awkward truth
Real data is rarely the tidy example from a parser tutorial. JSON can contain comments, trailing commas, duplicate keys, keyed arrays, and floating-point values that should be compared within a tolerance. Version 1.2 handles those cases explicitly and warns when information, such as a duplicate key, cannot be represented without ambiguity.
YAML comparisons now preserve multiple documents and distinguish non-finite numeric values. XML compares namespace meaning rather than prefix spelling, preserves mixed-content order, and limits ignored child order to the paths you choose. Wildcard rules also reach array descendants instead of stopping at object properties.
CSV review retains ragged cells, disambiguates duplicate headers, and pairs repeated key occurrences instead of silently overwriting a row. HTTP comparison preserves repeated headers, rejects malformed header lines, and still compares a JSON body semantically. Environment values remain masked while duplicate or malformed assignments become visible warnings.

03 / Review contracts carefully
API mode now covers more than OpenAPI and JSON Schema
OpenAPI and JSON Schema review now catches additional compatibility signals, including nullable fields becoming non-nullable, while keeping its conclusion deliberately cautious: finding no known breaking change is not the same as proving compatibility.
Version 1.2 also adds lightweight contract comparison for GraphQL types and SQL CREATE TABLE definitions. Removed GraphQL fields and changed SQL columns can be surfaced as material changes. These are intentionally bounded parsers, not complete GraphQL or SQL implementations; constructs outside their scope produce a warning and should be reviewed in the raw schema.
04 / Measure what is visible
Image and document results are more precise about what they know
Image comparison now measures colour in linear light and evaluates alpha after premultiplication. Invisible RGB values under complete transparency no longer create false differences. Different dimensions still share a transparent canvas, while decoded-size budgets reject pathological images before allocating the comparison surfaces.
If pixel decoding fails, Diff Anything keeps the useful binary metadata and explains why the pixel result is unavailable. Animation and colour profile limitations are disclosed rather than hidden behind an apparently exact score.

Document handling received the same treatment. PDF wording differences map back to rendered pages more reliably, including multipage files and fallback extraction. Office parts are ordered numerically, XLSX shared strings resolve correctly, and RTF Unicode and hexadecimal escapes are decoded without presenting extracted text as proof of identical layout.

05 / Stay responsive
Large results are bounded without pretending the totals are smaller
Text comparison keeps exact added, removed, and changed totals while capping the detailed records transferred into the interface. Structured results report an explicit warning when their detail cap is reached. Folder, archive, and image work can be cancelled during expensive native processing instead of only before it begins.
Archive comparison now pages large entry sets and applies explicit entry, per-file, and total expanded-size limits. ZIP and TAR-family archives are handled without relying on external system commands, and symbolic links are compared by their targets rather than followed into unrelated paths.
06 / Desktop and automation
Use the same comparison rules on desktop and in automation
Desktop, CLI, and batch comparisons use the same format-specific rules. Review a pair of files in the app, then use the corresponding mode for repeatable command-line checks. Free CLI supports text and JSON; Pro unlocks the other CLI modes and batch manifests.

Diff Anything 1.2 keeps the original promise—compare private work locally, without an account, analytics, telemetry, or a cloud comparison service—and makes the answer more dependable across every supported kind of diff.