OpenAPI document validator

Validate an OpenAPI 3.0 or 3.1 document in JSON or YAML, naming any reference files you supply explicitly.

  • Runs in your browser
  • No upload
  • Check before download

Validate an OpenAPI 3.0 or 3.1 document in JSON or YAML, naming any reference files you supply explicitly. Review operations, local targets and structural and Schema Object diagnostics. Only the frozen OAS dialect is supported, and formats are annotations without data-instance validation.

Method: OAS 3.0 (2024-10-18) / 3.1 (2025-09-15); $schema: OAS3.1 (2024-11-10)

Local processing

Input stays in your browser worker, without requests, storage or content telemetry. Original backups and explicitly revealed exports may contain secrets; keep them local.

Resource limits

Combined input ≤1 MiB; text ≤200,000 characters (XML 100,000); depth 32 / nodes 20,000 per document; at most 1,000 rows/operations; output ≤2 MiB; worker deadline 5 s. Cancel terminates the worker. These application bounds do not guarantee a total browser heap cap.

Up to 20 supplied reference files, up to 1000 references and a chain of 32. Nested resource IDs are local logical identifiers and are never loaded from the network. The base targets and syntax of dynamic references are checked, but dynamic instance bindings are not evaluated.

Source
Declared profile
Supplied reference files

Choose the profile and review diagnostics before using saved output. Editing, resetting or leaving cancels work and discards the preview. Save original backups separately; no source file is overwritten.

Original backup: 1048576 B / Inspect / generate

How to inspect this input

  1. Source

    Load the root JSON/YAML document, choose the automatic or an explicit OAS3.0/3.1 dialect, and supply named local reference files. The names must match the relative $ref paths.

  2. Declared profile

    Use OAS3.1.0, an info title of Demo, version 1, paths {}, and components.schemas.Name.$ref = ./models.json. Supply a models.json containing {"type":"string"} to resolve that schema.

  3. Review and save

    Look at the diagnostics at the document paths and at the reference graph. Without models.json the reference is unresolved. Supply it and run it again before you save the report.

Questions about the profile

What does this result mean?

The checks cover the document structure and the schema-object rules that are supported. They don't send API requests or validate real responses against the contract.

How do I resolve rejected or missing input?

A named file that is missing stays unresolved, and remote URLs are never fetched. Correct the spelling, the format and the dialect. Resolving a reference doesn't guarantee the content is valid.

What are the limits of this tool?

Local, finite OAS3.0/3.1 profiles, not every extension or dynamic instance-binding behavior. The source and the references stay on this device.