API Changelog Generator
Paste two versions of an API spec and get a categorized changelog — breaking changes, additions and non-breaking edits — with a derived SemVer bump and a copy-ready Markdown export. A real recursive diff, run entirely in your browser.
## v2.0.0 — suggested bump: MAJOR
> 1 breaking · 2 added · 4 changed
### ⚠️ Breaking changes
- Endpoint removed: `paths./legacy/export`
### ✨ Added
- `components.schemas.Order.properties.currency` — Added (`{"type":"string"}`)
- Endpoint added: `paths./orders/{id}/refund`
### 🔧 Changed (non-breaking)
- `components.schemas.Order.properties.status.enum[3]` — Enum value added (`"refunded"`)
- `components.schemas.Order.properties.total.type` — Value changed: `"integer"` → `"number"`
- `info.version` — Value changed: `"1.4.0"` → `"2.0.0"`
- `paths./orders/{id}.get.summary` — Value changed: `"Get an order"` → `"Retrieve an order"`
A diff that knows what actually breaks a client
The hard part of an API changelog isn't listing what changed — it's knowing which of those changes will break the people consuming your API. A text diff of two spec files drowns you in formatting noise and can't tell a renamed description from a removed field. This tool runs a real structural diff instead: it walks both JSON documents key-by-key, unions object keys, aligns arrays by index, and reports each difference with its exact dotted path like components.schemas.Order.properties.total — so the output is the set of semantic changes, not lines that moved.
On top of that walk sits a small set of heuristics that mirror how clients actually fail. Removing anything a consumer might depend on — an endpoint, a field, a required entry, an enum value — is breaking. Changing a value's type, say integer to number or string to object, is breaking because deserialization and validation can fall over. Adding a new endpoint, an optional field, or a fresh enum value is backward-compatible. Editing a description or a value while keeping the same type is a non-breaking change. The OpenAPI paths map gets special treatment so endpoint additions and removals lead the changelog, where they belong.
Those three buckets map cleanly onto Semantic Versioning, which is why the tool can suggest a bump you can defend in review: any breaking change forces major, a backward-compatible addition with no breakage means minor, and a release of pure edits is a patch. The Markdown export reproduces the same grouping under a version heading, ready to paste into a CHANGELOG.md, a GitHub release, or a migration guide — the breaking section doubling as your upgrade checklist. Everything runs locally, so even an unreleased proprietary spec never leaves your browser.
For the related views: compare two live responses with the API Response Comparator, drill into structural deltas with the Schema Difference Analyzer, and generate readable reference docs from a whole spec with the OpenAPI Documentation Generator.
Trusted by API & Platform Teams
“We run this before every release to draft the changelog and sanity-check the version bump. It caught a total → number type change a reviewer had missed and correctly flagged it as MAJOR. The Markdown drops straight into our release notes — it's saved us from shipping a silent breaking change twice now.”
“The endpoint added/removed surfacing on the paths map is exactly right — that's the headline of most releases and it's at the top of the diff. Recursive paths down to components.schemas.Order.properties mean I never have to eyeball two specs side by side again. And it's all local, so our private spec never leaves the laptop.”
“Great for writing migration guides — the breaking section is basically the checklist. The only thing to watch is enum reordering showing up as changes, but once you know that it's a non-issue. The suggested SemVer bump has settled a few 'is this minor or major' debates in code review.”
“A real structural diff with sensible breaking-change heuristics, not a line diff dressed up. Type changes are breaking, added optional fields are minor, description edits are patch — exactly how SemVer is supposed to map. We wired the Markdown export into our release template and stopped hand-writing changelogs.”
Love using our calculator?
Related API tools
Similar Calculators
More tools in the same category
OpenAPI/Swagger Documentation Generator
Generate interactive API documentation from OpenAPI specifications
Postman Collection to Docs Converter
Convert Postman collections into comprehensive API documentation
cURL to Documentation Converter
Transform cURL commands into structured API documentation
Interactive API Playground Generator
Create interactive API testing playgrounds for your documentation
GraphQL Schema Visualizer
Visualize GraphQL schemas with interactive diagrams and documentation
Webhook Documentation Generator
Generate comprehensive webhook documentation with payload examples
Often Used Together
Complementary tools for complete analysis
Related Articles
Dive deeper with our expert guides and tutorials related to API Changelog Generator
recursive diff · breaking detection · SemVer · Markdown export · in-browser · Last reviewed: 2026-06