How to use OpenAPI Viewer
- Paste the specification or click "Load example".
- Click Render (or press Ctrl/Cmd+Enter).
- Use the filter to find an endpoint and expand it to read its parameters and responses.
OpenAPI Viewer features
- OpenAPI 3.0/3.1 and Swagger 2.0, JSON or YAML, parsed entirely in the browser
- Operations grouped by tag with method badges, path, summary, deprecation and auth markers
- Expandable details: parameters, request body, responses per status code, security, copy buttons
- Schemas with property tables and raw JSON, security schemes and servers
- Instant filter across methods, paths, operationIds, tags and schema names; expand/collapse all
- Structural problems surfaced as a warning banner without blocking the view
OpenAPI Viewer example
Explore a small API
Input:
openapi: 3.0.3
paths:
/books:
get:
summary: List books
responses:
"200": { description: OK }Output:
default (1)
GET /books — List books
Responses: 200 OKFrequently asked questions about OpenAPI Viewer
Which formats can I paste?
OpenAPI 3.0 and 3.1 as well as Swagger 2.0, in JSON or YAML. The version is detected from the openapi / swagger field.
How are operations organised?
By tag, in the order tags are declared, with untagged operations under "default". Each operation expands to show parameters (name, location, type, required), the request body with content types and schema, responses per status code and security requirements.
Are $ref references resolved?
Local references (#/components/schemas/Name, #/definitions/Name) are shown by name and the schema section lists every component with its properties and raw JSON. External file references are displayed as-is.
Can I search inside a large specification?
Yes. The filter box matches method, path, summary, operationId, tags and schema names. Use Expand all / Collapse all to open or close every section.
Technical notes
The viewer builds a normalised model shared with the validator: tags → operations → parameters/requestBody/responses and components → schemas. Local $ref pointers are resolved by JSON Pointer; schema labels are summarised (array<Book>, string(uuid), enum(a, b)) so tables stay readable.