OpenAPI / Swagger Editor
Parse, validate, and preview OpenAPI 3.x or Swagger 2.0 documents
Spec Input
Preview
Parsed spec will appear here
Formatted JSON
Formatted output will appear here
About this tool
This tool parses an OpenAPI (3.x) or Swagger (2.0) document supplied as JSON or YAML, validates that it declares an API version and the required info/paths blocks, and renders a browsable preview: the API title and version, declared servers, every operation (method + path + summary), and a count of reusable schemas. The parsed document is re-emitted as formatted JSON. Use it to sanity-check a spec or explore an API without external tooling. Parsing is client-side; nothing is uploaded.
Examples & Use Cases
Minimal OpenAPI 3.1
openapi: 3.1.0
info:
title: Pet Store API
version: 1.0.0
paths:
/pets:
get:
summary: List all pets
post:
summary: Create a petThe smallest valid OpenAPI 3.x document — version, info, and a single path with two operations.
Legacy Swagger 2.0
swagger: "2.0"
info:
title: Legacy API
version: 0.9.0
host: api.example.com
basePath: /v1
paths:
/users:
get:
summary: List usersOlder Swagger 2.0 specs are detected and parsed the same way.
Examples
Parse and preview an OpenAPI 3.1 document
{"openapi":"3.1.0","info":{"title":"Pet API","version":"1.0.0"},"servers":[{"url":"https://api.example.com"}],"paths":{"/pets":{"get":{"summary":"List pets"}}}}Title: Pet API
Servers: https://api.example.com
Endpoints: GET /pets (1)
Schemas: 0After parsing, the preview shows the API title, the server URL, a count of endpoints with their methods, and the total number of schema definitions.
Detect a Swagger 2.0 document
{"swagger":"2.0","info":{"title":"Legacy API","version":"1.0"},"basePath":"/api","paths":{"/users":{"get":{}}}}Detected: Swagger 2.0
Title: Legacy API
Endpoints: GET /users (1)
Schemas: 0The tool detects the swagger: "2.0" key and renders a Swagger 2.0 preview. Note that server/basePath handling differs between the two versions.
About this tool
OpenAPI & Swagger Editor parses, validates and previews OpenAPI 3.x and Swagger 2.0 specification documents in JSON or YAML. It uses js-yaml to parse the YAML branch, then renders a summary card showing the API title, server list, method-colour-coded endpoint list, and schema count.
You can also re-emit the parsed document as pretty-printed JSON (or YAML), so you can paste messy input and get clean, reformatted output to paste back into your editor. A clear error banner shows the specific parse error with a line number when the input is invalid.
All processing — parsing, validation, preview rendering, and re-emission — happens entirely in your browser. Your API specification never leaves your device.
How to use
Paste or load an OpenAPI spec
Paste your OpenAPI 3.x or Swagger 2.0 spec in JSON or YAML, or click Load sample to try a built-in example.
Review the preview card
The preview shows the API title, server URLs, endpoint count (with HTTP methods colour-coded), and the number of schema definitions.
Re-emit formatted output
Click Format JSON or Format YAML to serialize the parsed document back out in clean, indented form.
Handle errors
If the spec is invalid, an error banner appears with the specific message and line number so you can fix the source and try again.
Use cases
Validating a spec before committing
Paste your OpenAPI YAML and confirm it parses without errors before pushing it to the repository, catching syntax mistakes early.
Quick API documentation review
Share a spec by pasting it into the editor and pointing a reviewer at the URL — the preview card shows the surface area at a glance.
Re-formatting a messy YAML spec
Paste hand-edited or machine-generated YAML that has inconsistent indentation, then re-emit the formatted JSON version to restore clean structure.
Common mistakes
Mistake:Mixing OpenAPI and Swagger versions in one document.
Fix:Use exactly one of openapi: 3.x.x (OpenAPI 3.x) or swagger: 2.0 (Swagger 2.0). The tool detects which is present; having both causes a parse error.
Mistake:Forgetting that YAML keys with colons need quoting.
Fix:Values containing : followed by space must be quoted in YAML (e.g. "application/json"), otherwise the parser splits them at the colon and produces an invalid structure.
Frequently asked questions
Related guides
References & standards
Related tools
Driver's License Generator
Generate driver's license numbers in the correct format for 21 countries and all 50 US states, plus a format and Luhn validator — test data only, runs in your browser.
Address Generator
Generate realistic addresses in the correct format for 21 countries — single-line, multi-line, JSON or HTML — plus a postcode validator. Test data only, runs in your browser.
Phone Number Generator
Generate phone numbers in the correct format per country — mobile, landline and toll-free — in international, national, raw or tel: format, plus a validator. Test data only.
XML to JSON Converter
Convert XML data to JSON format with attribute handling, configurable parsing options, and live statistics
Markdown to HTML Converter
Convert Markdown to clean HTML with GitHub-Flavored Markdown, syntax highlighting, and optional sanitization
Docker Run to Compose Converter
Convert a docker run command into a docker-compose.yml service definition with full flag support