JSON to OpenAPI schema
Generate an OpenAPI component schema from sample JSON in one click.
Objects and arrays are mapped to JSON Schema with required fields, and mixed arrays become oneOf definitions.
Everything runs locally in your browser—no data is sent anywhere.
JSON to OpenAPI Schema Generator
Instantly infer and generate OpenAPI (Swagger) 3.x components.schemas YAML/JSON definitions by simply pasting an exogenous API response or a design-phase dummy JSON object.
During REST API development or technical documentation authoring, manually mapping out massive JSON properties and dictating types is a tedious, error-prone task. This structural inference tool automates the heavy lifting of reverse-engineering your API schema, accelerating your documentation process.
Articles for this tool
Generate an OpenAPI Schema from JSON | Swagger-Compatible
How JSON gets turned into an OpenAPI 3.1 components schema. Covers the type-inference rules, how mixed-type arrays become oneOf, automatic date-string detection, and what to double-check after generating.
Converting Between JSON Schema and Zod: How required Maps to .optional()
Inside a two-way converter that turns JSON Schema into a Zod schema and Zod code back into JSON Schema. Covers the inverted defaults between required and .optional(), the constraint mapping table, and how the Zod side is parsed without executing any code.
JSON Formatting and Validation: How to Read API Responses Safely
Learn how to format JSON, catch syntax errors, inspect value types, and turn API responses into types, schemas, or documentation.
The JSON Ecosystem: Connecting Formatting, Types, Validation, and API Specs
Follow one API response through formatting, TypeScript types, Zod runtime validation, and OpenAPI definitions—with real code at every step—for a clear view of type-safe API development.
Recent Articles
curl Options Cheat Sheet: What -X, -H and -d Actually Do
A reference for the curl options you meet in real API work: why -d already implies POST, how -d differs from --data-raw, the @ prefix that silently reads a file, single vs double quotes, and why -k and -L deserve more caution than they usually get.
Converting Between JSON Schema and Zod: How required Maps to .optional()
Inside a two-way converter that turns JSON Schema into a Zod schema and Zod code back into JSON Schema. Covers the inverted defaults between required and .optional(), the constraint mapping table, and how the Zod side is parsed without executing any code.
SQL Clause Order Reference: Why WHERE Can't See Your SELECT Alias
The order you write SQL clauses is not the order the database runs them. A reference for the logical execution order (FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT), why aliases fail in WHERE, when to use WHERE vs HAVING, and the MySQL/PostgreSQL differences that bite.
Unified Diff Format Reference: Reading @@ Hunks in git diff Output
How to read the unified diff format git produces: what the four numbers in @@ -12,7 +12,9 @@ mean, why a one-character edit shows as a whole-line replacement, the whitespace and line-ending traps, \ No newline at end of file, combined @@@ diffs on merges, and rename detection via similarity index.
UTC to JST Reference: The 9-Hour Offset, Cheat Sheet & Timezone Pitfalls
Convert between UTC and JST (Japan Standard Time) with a cheat sheet. Covers what Z and +09:00 mean in ISO 8601, when JavaScript date parsing silently shifts by 9 hours, MySQL/PostgreSQL timezone behavior, and why GitHub Actions cron always runs in UTC.
CREATE TABLE Reference: MySQL vs PostgreSQL vs SQLite Types & Constraints
A cross-database CREATE TABLE (DDL) reference with cheat sheets for data types, auto-increment keys (AUTO_INCREMENT / IDENTITY / rowid), foreign key ON DELETE behavior, and the CHECK constraint that MySQL silently ignores.