JSON Schema to OpenAPI Converter — Free Online
Convert JSON Schema (Draft-07 / 2020-12) to a minimal OpenAPI document — choose openapi 3.0.3 or 3.1.0 (version field; Schema Objects stay OAS 3.0-oriented). 100% in-browser, nothing uploaded.
Developer notes
Converts Draft-07 / 2020-12 JSON Schema to OpenAPI Schema Objects via @openapi-contrib/json-schema-to-openapi-schema. Output is a minimal OpenAPI document (info, empty paths, components.schemas) with openapi 3.0.3 (default) or 3.1.0. Choose JSON (default) or YAML output — paste the result straight into an existing OpenAPI spec file. Live convert on paste/sample; explicit Convert (⌘↵) for manual edits; Monaco JSON input + Shiki output. $defs / definitions become named schemas; a root-only schema becomes Root (or title). External / http(s) $ref are rejected — never fetched. JSON input only (YAML rejected) — only the output format is selectable. Max input 512 KiB.
Options
- OpenAPI version
- Sets the document openapi field to 3.0.3 (default) or 3.1.0. Schema objects still come from the OAS 3.0-oriented converter (e.g. nullable); choose 3.1.0 when your toolchain expects that version string.
- Output format
- Choose JSON (default) or YAML for the generated OpenAPI document. OpenAPI accepts either serialization — pick YAML when pasting the result into an existing YAML-based spec file, or JSON when feeding it to tooling that expects JSON.
Use cases
Turn a JSON Schema model into an OpenAPI components.schemas starter. Chain into Validate OpenAPI after conversion. Share a single-file OpenAPI stub from an existing schema.
Examples
JSON Schema $defs → OpenAPI components.schemas
Before
After
External $ref rejected
Before
After
JSON Schema to OpenAPI FAQ
Common questions
Which OpenAPI version is produced?
Choose 3.0.3 (default) or 3.1.0 in the toolbar. This sets the document openapi field. Schema Objects still come from the OAS 3.0-oriented converter (e.g. nullable) — not a full OAS 3.1 Schema Object rewrite. See Options.
Are external $ref supported?
No. External and http(s) $ref produce a hard error. Only internal #/… references within the pasted document are allowed.
Can I paste YAML?
No on the JSON Schema side — paste JSON only. OpenAPI YAML is supported on the reverse converter and OpenAPI tools. The generated OpenAPI output, however, can be JSON or YAML — pick it in the Output format toolbar option.
Related tools?
Convert back with OpenAPI to JSON Schema, validate data with JSON Schema Validator, or check syntax-only JSON with JSON Validator.
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.
- 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.
- Encoding
Encode or decode Base64, URL components and HTML entities — client-side only.
- Serialization
Serialize and deserialize PHP data structures beside JSON workflows.
- 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.
- Beautify
Make code readable with consistent indentation — beautify JavaScript, CSS, TypeScript, SCSS, LESS, Markdown, GraphQL, SQL, YAML and more in your browser.
- CSS preprocessors
Compile SCSS or LESS to standard CSS in the browser — pair with beautify or minify for a full stylesheet workflow.
- Color & CSS Tools
Paste-local WCAG contrast checking with modern CSS color syntax — pair and matrix views, never uploaded.
- 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.
- HTTP Tools
Paste-local cURL, HTTP messages, URLs, HAR files, and Cookie / Set-Cookie headers — format and inspect in your browser, never sent.
- SEO / Web Tools
Generate meta tags, Open Graph, and Twitter Card output locally — previews simulated from your inputs, never fetched from your live site.
- 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.
- Test Data
Synthetic field values for fixtures and DB seed — reserved-range phone numbers first.
- Barcode labels
Draw Code 128, EAN-13, and UPC-A label images in the browser — PNG and SVG download, not a GS1 lookup.