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) — optional recursive key sort for stable diffs. • Input kind is preserved: JSON in → JSON out; YAML in → YAML out. • Auto-format on paste/upload/sample; manual edits use the Format button (⌘↵). • 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.

Options

Indent
Spaces per level for JSON.stringify / yaml.dump (2 or 4).
Sort keys
Off by default (preserves key order). On recursively sorts object keys for stable PR diffs; array element order is unchanged.

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?

Pretty-print is still generic (JSON.stringify / yaml.dump). Turn on Sort keys for recursive alphabetical key order (stable diffs). It is not an OpenAPI-aware reorder (paths before components, etc.).

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.

API & schemas

OpenAPI tools to format, validate, and lint your specs.

Explore other tool categories

Minify

Shrink code and assets for production — minify JavaScript, CSS, HTML, JSON and XML before gzip or CDN deploy.

Beautify

Make code readable with consistent indentation — beautify JavaScript, CSS, TypeScript, SCSS, LESS, Markdown, GraphQL, SQL, YAML and more in your browser.

Unminify

Expand minified or compressed code — unminify JavaScript, CSS, TypeScript, SCSS, LESS, SQL, YAML and other formats when debugging or reviewing.

Conversion

Transform data between JSON, YAML, XML and CSV locally — no server uploads.

CSS preprocessors

Compile SCSS or LESS to standard CSS in the browser — pair with beautify or minify for a full stylesheet workflow.

JSON Tools

Validate, format, diff and explore JSON payloads — complementary to minifiers and converters.

SVG Tools

Preview, optimize with SVGO, export Data URI, resize, beautify, convert to JSX and validate SVG — all in your browser.

DevOps & Infra

Terraform HCL format/validate/minify, Dockerfile format & lint, Docker Compose and .env validation.

CI/CD

GitHub Actions and GitLab CI — format YAML and check workflow/job structure in your browser.

Logs & observability

Line-oriented JSON/NDJSON and Nginx/Apache access logs — format, filter, validate, and CSV/TSV.

Kubernetes

Multi-doc manifests, structural validate, Ingress/Deployment starters, and Helm values formatting.

Networking / IP

CIDR, subnets, and IPv4/IPv6 helpers — in your browser.

Security & tokens

JWKS, X.509 certificates, and secrets scan — browser-local.

Encoding

Encode or decode Base64, URL components and HTML entities — client-side only.

Developer utilities

Timestamps, UUID, ULID, Nanoid, cron, passwords, regex, slugify, number bases, case, text diff, and chmod — all client-side.

Text & Markdown

Count words, build Markdown TOCs, and clean line lists — all in your browser.

AI & LLM

Token counting, pricing estimates, and context-window fit — 100% browser-local.

Serialization

Serialize and deserialize PHP data structures beside JSON workflows.