Know what breaks before you ship

API Contract Difference Analyzer

Compare two OpenAPI 3.0 or 3.1 documents, see which changes break existing clients, record a decision on each, and export migration notes.

  • JSON & YAML
  • Client-side view
  • Nothing is requested
  1. Add both contractsPaste them or open files
  2. Review the findingsBreaking, review or compatible
  3. Export notesMarkdown, CSV or JSON
Ready.Documents are parsed locally and never requested or run

How changes are judged

Direction matters. Removing an enum value breaks requests but not responses; adding one can break response parsers. Required fields, nullability, limits, types, media types, parameters, status codes and security are all checked.

Limits

Only local $ref links are followed. oneOf and anyOf changes are flagged for review rather than matched. Items the tool skips, such as callbacks and webhooks, are listed under “Not compared”. Swagger 2.0 needs converting first.

Using API Contract Difference Analyzer

Compare two OpenAPI 3.0 or 3.1 documents, see which changes break existing clients, record a decision on each, and export migration notes.

  1. Choose Try example, or paste or open the old and new OpenAPI documents in JSON or YAML.
  2. Press Compare. Findings are grouped as Breaking, Review or Compatible, judged from the view of an existing client.
  3. Filter and search the findings, then record a decision and note on each one. Check the Not compared list for anything skipped.
  4. Open Export for Markdown migration notes, CSV or JSON findings, or a project file to continue later.

Example

The fictional Orders API example moves from 1.4.0 to 2.0.0. It shows a new required header, a removed DELETE operation, a tighter limit, a new enum value in a response and a path parameter rename that is correctly not treated as breaking.

Questions & answers

What does it treat as breaking?

Removed operations, success responses or media types; new required parameters or fields; type and security changes; tightened request limits; removed request enum values; and response changes such as new enum values, new nulls or fields no longer guaranteed.

Which documents can I open?

OpenAPI 3.0 and 3.1 in JSON or YAML, using local $ref links. Swagger 2.0 needs converting first.

What is not compared?

External references, callbacks, webhooks, links, discriminators and some advanced schema keywords. oneOf and anyOf changes are flagged for manual review. Whatever was skipped is listed in the results and the exports.

Is my API contacted or my document uploaded?

No. Documents are parsed as data in your browser and no request is made to any listed server. Project files contain both documents, so check them for secrets before sharing.

Help improve this tool

Report a problem or suggest an improvement

Describe the issue without pasting private tool input. Feedback goes to our admin inbox.

Find another tool · Read practical guides