OpenAPI 3.0 ↔ 3.1 Converter
OpenAPI 3.0 ↔ 3.1 Converter: Updates root version to 3.1.0 and converts legacy OpenAPI 3.0 `nullable: true` to `type: [string, 'null']`.
About this openapi 3.0 ↔ 3.1 converter
OpenAPI 3.0 ↔ 3.1 Converter — browser-based utility.
How this tool works
Implements client-side OpenAPI 3.0 ↔ 3.1 Converter operations. Updates root version to 3.1.0 and converts legacy OpenAPI 3.0 `nullable: true` to `type: [string, 'null']` specifically designed for an api architect converts an openapi 3.0 document into 3.1 to take advantage of native json schema 2020-12 support.
- Contract Ingestion & Format Parsing: Reads OpenAPI YAML or JSON contracts, parsing the top-level info, servers, paths, and components blocks.
- Schema Dereferencing & Graph Resolution: Resolves internal and external $ref pointers using per-path visited sets to prevent false circular recursion alarms.
- Protocol Mapping & MCP Transformation: Maps HTTP operations, path parameters, and requestBodies into MCP tool declarations with JSON Schema input schemas.
- Validation & Export: Emits valid MCP manifests or client interfaces ready for Claude, Gemini, or ChatGPT integration.
Worked example
Scenario: Upgrade a minimal JSON OpenAPI document to the default 3.1 target.
Sample input:
Processing: Set the root version to 3.1.0 and add the fixed Draft 2020-12 dialect.
Illustrative output:
Limits and verification
Requires specifications to contain required OpenAPI root keys ('openapi', 'info', 'paths'). Handles deep schema recursion by truncating self-referential children with a safe guard marker. Flags invalid YAML indentation with line numbers.
Examples demonstrate an expected workflow; they do not prove every input or every branch of an external specification. Check important results with an independent source before using them for money, security, compliance, safety, or irreversible file changes.
Browser processing boundary
Tool input is processed by code running in the browser and is not intentionally sent to a CZOA processing API. The page can still request ordinary site assets, analytics, or advertising when those services are enabled. Browser extensions and managed-device software remain outside this tool's control.
Relevant references
These references govern or help explain the format, protocol, or calculation used here. Listing a reference does not claim certification or complete implementation of every optional feature.
Content owner: CZOA Tools · Last reviewed: 2026-09-15 · Review methodology
How to use it
- Enter, paste, or select your input data into the OpenAPI 3.0 ↔ 3.1 Converter workspace controls.
- Review available parameter fields, units, formats, or options configured for your task.
- Click the action button or observe immediate live calculations rendered in your browser runtime.
- Inspect the resulting output and any diagnostic messages, then copy or download the result if needed.
Frequently asked questions
How does OpenAPI Version Converter choose a target?+
It parses a JSON or YAML object. Secondary text exactly `3.0` selects `3.0.3`; every other value selects `3.1.0`. JSON input returns formatted JSON and YAML input returns YAML.
What does the 3.1 browser fixture show?+
A JSON document with `openapi: 3.0.3` becomes `openapi: 3.1.0` and gains `jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema`. The fixture verifies these two fields, not full specification validity.
Which schema rewrites are implemented?+
For 3.1 it recursively replaces `nullable: true` with a type containing `null` and rewrites boolean exclusive bounds when paired with a numeric bound. For 3.0 it converts type arrays containing null back to nullable.
What does it not migrate or validate?+
It does not require OpenAPI root keys, validate source or result, resolve references, preserve YAML comments or aliases, report loss, limit depth, prove semantic equivalence, or cover every OpenAPI difference.
