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.

Loading…
JSON Schema to OpenAPI documentation
Convert JSON Schema to a minimal OpenAPI document (openapi 3.0.3 or 3.1.0 version field).

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. • $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). • 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.

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

{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$defs": { "Pet": { "type": "object", "required": [ "id", "name" ], "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } } } }

After

{ "openapi": "3.0.3", "info": { "title": "Converted from JSON Schema", "version": "1.0.0" }, "paths": {}, "components": { "schemas": { "Pet": { ... } } } }

External $ref rejected

Before

{ "$ref": "https://example.com/schemas/pet.json" }

After

Error: external $ref not supported

JSON Schema to OpenAPI FAQ

Common questions

Which OpenAPI version is produced?

Choose <strong>3.0.3</strong> (default) or <strong>3.1.0</strong> in the toolbar. This sets the document <code>openapi</code> field. Schema Objects still come from the OAS 3.0-oriented converter (e.g. <code>nullable</code>) — 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.

Related tools?

Convert back with OpenAPI to JSON Schema, validate data with JSON Schema Validator, or check syntax-only JSON with JSON Validator.

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