HTTP response diff tool macOSWindows

Compare HTTP responses as status, headers, and body

Compare raw or JSON-shaped HTTP responses locally by HTTP version, status code, and reason phrase, with case-insensitive headers, ignored-header rules, and semantic JSON bodies.

Direct answer

What does HTTP response comparison include?

Diff Anything separates an HTTP response into its status line (HTTP version, status code, and reason phrase, each compared on its own), case-insensitive headers, and body. Selected headers can be ignored. A valid JSON body receives semantic comparison; other bodies remain strings. It accepts raw HTTP responses, JSON-shaped responses, or plain JSON bodies and reports invalid raw header lines instead of silently accepting them.

Diff Anything welcome screen with private local comparison sources
Start with files, folders, or pasted content; the comparison stays on the device. View full size

Input formats

Paste a raw response, a saved JSON response, or just the body.

Comparing two API responses as text mixes real changes with new dates, request ids, and reordered JSON keys. HTTP Response mode splits each response into its status line, headers, and body, and compares each part in its own way.

It reads three shapes. A raw response starts with a status line such as HTTP/1.1 200 OK, followed by headers, a blank line and the body. A saved JSON response is an object with a status or statusCode field, plus headers and body, and optionally httpVersion and statusText. Any other content is treated as a body on its own.

Diff Anything compares responses you open from files or paste. It does not send requests to a URL.

Headers

Headers are matched without regard to letter case.

Content-Type and content-type are the same header. Repeated headers, such as several Link lines, are kept as a list of values. A raw header line without a colon stops the comparison with an error that names the side, so a truncated capture is not treated as valid.

Some headers change on every request. Under Ignored headers, enter one header name per line. By default the list contains date, server, set-cookie, x-request-id, and traceparent. Ignored headers stop counting as differences; the files you opened are not changed.

Body

JSON bodies are compared by value.

A valid JSON body is compared as parsed data, so key order does not matter and numbers compare by value. Arrays of records with a unique id, _id, uuid or key field are paired by it; other arrays are compared by position. Any other body is compared as a single string.

The HTTP version, status code, and reason phrase are compared separately, so the result says, for example, "Status code changed from 200 to 404" or "Reason phrase changed from "OK" to "Not Found"". A part that only one response records is not compared. The JSON Semantic rules, such as ignore paths and numeric tolerance, are not available for response bodies; save the two bodies as .json files and compare them in JSON mode when you need those rules.

Copy changes

Copy a header or value into the other response.

Right → left and Left → right copy a single difference across, and the target keeps its own format. A raw response keeps its status text, header lines and line endings; a saved JSON response keeps its layout; a body-only file stays a body, and a status or header cannot be written into it.

With Pro, --mode http compares responses from the command line. It uses no ignored headers, so a changing Date header counts as a difference there.

Best for

Where this workflow fits.

  • Checking API responses across environments
  • Ignoring volatile headers while retaining meaningful changes
  • Comparing private response captures without an upload

No accounts, cloud comparison service, analytics, or telemetry.

Relevant capabilities

What Diff Anything brings to the job.

Practical workflow

From setup to a reviewed result.

  1. Capture both responses

    Save each response with its status line and headers, or as a JSON object with status, headers and body.

  2. Open or paste them

    Add them to the left and right panels. Auto opens pasted captures, .http files, and saved JSON responses with a status and headers in HTTP Response mode; for other files, choose HTTP Response in the toolbar.

  3. Adjust ignored headers

    Add any header that changes on every request, such as a custom trace or cache id.

  4. Review status, headers, and body

    Go through what is left: status line changes, header values, and changed paths in the body.

Useful in practice

Direct answers

Questions about HTTP response diff tool.

What does HTTP response comparison include?

Diff Anything separates an HTTP response into its status line (HTTP version, status code, and reason phrase, each compared on its own), case-insensitive headers, and body. Selected headers can be ignored. A valid JSON body receives semantic comparison; other bodies remain strings. It accepts raw HTTP responses, JSON-shaped responses, or plain JSON bodies and reports invalid raw header lines instead of silently accepting them.

Which headers are ignored by default?

date, server, set-cookie, x-request-id, and traceparent. You can edit the list under Ignored headers, one name per line.

Is the status text compared?

Yes. The HTTP version, the status code, and the reason phrase after it are each compared and reported separately.

Can Diff Anything call my API and fetch the responses?

No. It compares responses you have saved or pasted. Capture them with your usual HTTP client first.

Can I ignore a field inside a JSON response body?

Not in HTTP Response mode. Compare the two bodies as JSON files to use Ignore paths and the other semantic rules.

Go deeper

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

Read Choose the right comparison mode
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.

More Diff Anything

Browse every focused tool and workflow.

See all Diff Anything tools