OpenAPI Formatter Online — Beautify JSON & YAML Specs

Pretty-print OpenAPI 3.0–3.2 documents (JSON or YAML) in your browser — 2 or 4 space indent, nothing uploaded.

Loading…
Format OpenAPI documentation
Pretty-print OpenAPI JSON or YAML in the browser.

Developer notes

• Generic pretty-print (JSON.stringify / yaml.dump) — not an OpenAPI-aware key reorderer. • Input kind is preserved: JSON in → JSON out; YAML in → YAML out. • YAML comments are lost on format. • Numeric openapi versions in YAML (e.g. 3.0) are normalized to strings (3.0.0). • Max input 512 KiB.

Use cases

• Clean up minified or hand-edited OpenAPI JSON/YAML before review. • Normalize indentation (2 or 4 spaces) for PR diffs. • Pair with Validate OpenAPI after formatting.

Examples

Compact JSON → indented

Before

{"openapi":"3.1.0","info":{"title":"Pets API","version":"1.0.0","description":"Simple pet store API"},"paths":{"/pets":{"get":{"operationId":"listPets","tags":["pets"],"summary":"List pets","parameters":[{"name":"limit","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Pet"}}}}}}}}},"components":{"schemas":{"Pet":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}}}

After

{ "openapi": "3.1.0", "info": { "title": "Pets API", "version": "1.0.0", "description": "Simple pet store API" }, "paths": { "/pets": { "get": { "operationId": "listPets", "tags": [ "pets" ], "summary": "List pets", "parameters": [ { "name": "limit", "in": "query", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Pet" } } } } } } } } }, "components": { "schemas": { "Pet": { "type": "object", "required": [ "id", "name" ], "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } } } } }

YAML preserved as YAML

Before

openapi: "3.0.3" info: title: Pets version: 1.0.0 paths: {}

After

openapi: "3.0.3" info: title: Pets version: 1.0.0 paths: {}

Format OpenAPI FAQ

Common questions

Does format preserve JSON vs YAML?

Yes. JSON input produces indented JSON; YAML input produces YAML via yaml.dump. Comments in YAML are not preserved.

Is this an OpenAPI-aware pretty printer?

No — it is a generic pretty-print (JSON.stringify / yaml.dump). Keys are not reordered to OpenAPI conventions.

What about openapi: 3.0 as a YAML number?

Numeric versions are normalized to strings (3 → 3.0.0, 3.0 → 3.0.0) before output.

Which OpenAPI versions?

OpenAPI 3.0, 3.1, and 3.2. Swagger 2.0 is not supported — use our OpenAPI tools only for 3.x.

OpenAPI cluster tools

Looking for converters, encoders, formatters, and minifiers in one place? Developer tools hub Open the curated developer tools catalogue.