OpenAPI validator online for 3.0 and 3.1

Paste the URL of an OpenAPI 3.0 or 3.1 file, in JSON or YAML. APIForge parses it, resolves every $ref, lists each operation with its parameters and responses, and scores the design from 0 to 100.

  • OpenAPI 3.0 · 3.1
  • Swagger 2.0
  • JSON · YAML
  • $ref resolution

What the validator checks

  • The file parses as JSON or YAML. Syntax errors stop the load and the message is shown.
  • Internal and external $ref pointers resolve. Broken local pointers are stubbed so the rest still loads.
  • Every operation under paths is extracted with its method, parameters, request body, responses and security.
  • Server URLs are read from servers (OpenAPI 3) or host, basePath and schemes (Swagger 2.0).
  • The operations are scored against seven design rules. The API quality score page lists them.

It is a parser and a design check, not a full schema validator. The step-by-step version of this check is in How to validate an OpenAPI or Swagger spec file.

Related tools and guides

Frequently asked questions

Paste the URL of the OpenAPI JSON or YAML file into the field above and submit. APIForge fetches it from its server, parses it, resolves the $ref pointers and opens the list of operations. If it cannot extract a single operation, it shows the parse error instead.

OpenAPI 3.0.x and 3.1.x, plus Swagger 2.0. For a Swagger 2.0 file, APIForge builds the server URL from host, basePath and schemes, and reads securityDefinitions as the security schemes.

No. APIForge loads specs the way Swagger UI does, so a file with small spec violations still opens. It does not check every rule of the OpenAPI schema and it does not report line numbers. It tells you whether the file parses, whether the references resolve, and what the operations look like. For strict conformance, run a schema-based linter in CI as well.

The usual causes are a URL that returns HTML instead of the raw spec, broken JSON or YAML syntax, a file with no operations under paths, a URL behind a login, or a file over 15 MB or slower than 15 seconds. If you paste a Swagger UI page, APIForge tries common spec paths such as /openapi.json and /v3/api-docs. The common-openapi-errors guide covers the mistakes that survive loading.

It reads both. Text that starts with { is parsed as JSON, anything else as YAML. The URL field on this page only takes a link. To check a local .json, .yaml or .yml file, upload it on the Roast My API page, which runs the same parser and the same design rules.

Internal pointers such as #/components/schemas/Order are resolved. External http and https references are fetched through the same address filter as the spec itself. File references are switched off. Circular references are left in place, and a local pointer to a schema that does not exist is replaced by an empty stub so the rest of the spec still loads.

The parse request fetches the spec on the server, returns the operations to your browser and does not save the spec. Roast My API is separate: a shared roast report is kept in server memory for up to 7 days, and it holds the score and findings.

Yes. There is no account and no pricing. APIForge is open source under the MIT license.