Render an OpenAPI or Swagger definition locally

Paste a self-contained definition to browse operations, request bodies, responses and schemas without sending it anywhere. The viewer checks the version and resolves every reference inside the pasted document before it renders.

LOCAL VIEWERSwagger UI 5.32.14OpenAPI 3.x · Swagger 2.0Endpoint execution disabled
Your definition is rendered in this browser. Every $ref must resolve inside the pasted document; external URLs, relative file paths, validation calls, and Try it out requests are blocked, and no request leaves the browser.
OpenAPI or Swagger document
Documentation preview
Paste an OpenAPI or Swagger document, then render the local documentation.

Review documentation without activating an API client

This viewer is for a visual contract review: it never sends a request, persists authorization, fetches a remote definition, or resolves a reference outside the pasted document. Use the Explorer when you want to generate a request from copied API details.

How to render an API definition locally

Paste an OpenAPI 3.x or Swagger 2.0 definition and read it as Swagger UI documentation without sending it anywhere. Parsing, checking and rendering all happen in this tab, Try it out is switched off, and the measured request count while rendering stays at zero.

The viewer checks the definition first. The root has to carry a supported version, every $ref has to point inside the same document, and each of those references has to resolve; anything else is reported in the status line instead of leaving a half-rendered page behind.

  1. Paste a JSON or YAML definition, or press Load example for a two-operation notes API.
  2. Press Render local docs. JSON and YAML are both read in the browser; a YAML problem names the line, and a JSON problem names the position.
  3. Expand an operation to read parameters, request bodies, responses and schemas. Operations are documentation only here: no request button is rendered.
  4. Clear empties the field and the preview. After a render, editing the document dims the preview and marks it as belonging to the previous document until you render again.

What the viewer checks before rendering

What the definition may contain

OpenAPI 3.x and Swagger 2.0 roots are accepted; the version field is required, and openapi: 4.x is refused with a message instead of a Swagger UI error page. JSON and the YAML subset OpenAPI files use both parse: mappings, sequences, inline [] and {} collections, quoted keys, comments, | and > block scalars with chomping, anchors and aliases (&name / *name), and the tags !!str, !!int, !!float, !!bool and !!null. A second document after --- is reported as an error instead of being merged into the first.

References and network requests

Only references inside the pasted document are supported. ./schemas/a.json, a.yaml, relative paths and http(s) URLs are rejected before rendering, and the message names the property that carries them, so a definition pointing at a relative file is reported instead of quietly requesting it from this site. Local references such as #/components/schemas/Note are resolved against the pasted document, and a reference to a missing node is reported right away instead of failing when the operation is expanded.

Reading the result

The preview lists operations with their parameters, request bodies, responses and schemas in the plain Swagger UI base layout, with no Try it out button and no authorization form. Measured on this build: the bundled example renders two operations, a 200-operation definition renders in about a quarter of a second, and rendering the same document twice does not duplicate the preview.

Recent tools: