Skip to content
@oasdiff

oasdiff

Know exactly what changed in your API — and who approved it.

oasdiff

OpenAPI breaking-change detection for API teams.

oasdiff is the open-source toolchain teams use to catch breaking changes in OpenAPI specs before they ship. Run it as a CLI, in CI via the GitHub Action, or open a free side-by-side review of any two specs and share it with your team. oasdiff Pro adds approve / reject on the pull request with a commit-status check that blocks the merge until every breaking change is signed off.

release stars contributors release downloads docker pulls license

What it does

  • Diff and changelog. A precise, machine-readable diff between any two OpenAPI specs, plus a human-readable changelog.
  • Breaking-change checks. A library of rules that flag changes likely to break API consumers.
  • PR annotations. The oasdiff GitHub Action marks breaking changes inline on the changed lines, in the Files Changed tab.
  • Free side-by-side review. Turn any comparison into a shareable visual review: add --open to oasdiff breaking or changelog, click the link the GitHub Action adds to each pull request, or paste two specs at oasdiff.com/diff. The specs are encrypted before upload, so the review stays private to whoever holds the link.
  • Validate. Catch OpenAPI and JSON Schema violations standalone, no diff required.
  • A public model of API changes. OpenAPI gave API definitions a formal model; the OpenAPI Changes Model does the same for API changes: every possible edit to a contract, classified as breaking or not, in one machine-readable file. oasdiff is its reference implementation.

Quick start

Try it without installing:

docker run --rm -t tufin/oasdiff diff \
  https://raw.githubusercontent.com/oasdiff/oasdiff/main/data/openapi-test1.yaml \
  https://raw.githubusercontent.com/oasdiff/oasdiff/main/data/openapi-test5.yaml

Install:

brew install oasdiff                                                                # macOS
go install github.com/oasdiff/oasdiff@latest                                        # Go
curl -fsSL https://raw.githubusercontent.com/oasdiff/oasdiff/main/install.sh | sh   # macOS or Linux

Or paste two specs at oasdiff.com/diff. Add --open to oasdiff breaking or changelog to open a shareable side-by-side review of the changes in your browser.

Repositories

Repo What it is
oasdiff/oasdiff Core CLI and Go library
oasdiff/oasdiff-action GitHub Action for pull-request CI
oasdiff/openapi-changes-model A formal model of OpenAPI changes; oasdiff is its reference implementation

oasdiff Pro

For teams that need block-on-merge controls, approve / reject directly on the GitHub PR comment, and per-org policy: see oasdiff Pro.

Project health

  • Apache-2.0 licensed
  • Active development with regular tagged releases
  • Used in CI by API teams across SaaS, fintech, dev-tools, and OSS

Get in touch

Popular repositories Loading

  1. oasdiff oasdiff Public

    OpenAPI Diff and Breaking Changes

    Go 1.4k 106

  2. oasdiff-action oasdiff-action Public

    GitHub Actions that detect breaking changes in your OpenAPI specs and post a review on every pull request

    Shell 65 32

  3. sync sync Public archive

    Stay Informed About Upstream API Breaking Changes Proactively

    Go 4 1

  4. gitlab-ci gitlab-ci Public

    2

  5. asdf-oasdiff asdf-oasdiff Public

    Shell 1 1

  6. telemetry telemetry Public archive

    Go 1 1

Repositories

Showing 10 of 18 repositories
  • oasdiff Public

    OpenAPI Diff and Breaking Changes

    oasdiff/oasdiff's past year of commit activity
    Go 1,356 Apache-2.0 106 44 3 Updated Sep 9, 2026
  • .github Public
    oasdiff/.github's past year of commit activity
    0 0 0 0 Updated Sep 9, 2026
  • openapi-changes-model Public

    A formal model of OpenAPI changes: every possible edit to an API contract, classified as breaking or not

    oasdiff/openapi-changes-model's past year of commit activity
    Go 0 Apache-2.0 0 1 1 Updated Sep 5, 2026
  • oasdiff-action Public

    GitHub Actions that detect breaking changes in your OpenAPI specs and post a review on every pull request

    oasdiff/oasdiff-action's past year of commit activity
    Shell 65 Apache-2.0 32 0 0 Updated Sep 5, 2026
  • homebrew-oasdiff Public

    oasdiff's homebrew tap

    oasdiff/homebrew-oasdiff's past year of commit activity
    Ruby 0 0 0 0 Updated Sep 5, 2026
  • go-yaml Public Forked from yaml/go-yaml

    The YAML org maintained fork of https://github.com/go-yaml/yaml

    oasdiff/go-yaml's past year of commit activity
    Go 0 Apache-2.0 68 0 0 Updated Sep 3, 2026
  • kin-openapi Public Forked from getkin/kin-openapi

    OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more)

    oasdiff/kin-openapi's past year of commit activity
    Go 0 MIT 518 0 3 Updated Aug 28, 2026
  • yaml Public Forked from invopop/yaml

    A better way to marshal and unmarshal YAML in Golang

    oasdiff/yaml's past year of commit activity
    Go 1 9 0 1 Updated Aug 2, 2026
  • yaml3 Public Forked from go-yaml/yaml

    YAML support for the Go language.

    oasdiff/yaml3's past year of commit activity
    Go 1 1,204 0 2 Updated Aug 2, 2026
  • github-demo Public
    oasdiff/github-demo's past year of commit activity
    0 0 0 16 Updated Apr 20, 2026

People

This organization has no public members. You must be a member to see who’s a part of this organization.