Why convert GraphQL to JSON?
Tooling, code generators, and custom build steps almost always work with JSON, not SDL. Converting a schema into JSON makes it easy to feed into TypeScript generators, schema diffing tools, documentation builders, and ad-hoc scripts that need a structured, programmatic view of the types.
What is the JSON shape produced?
The output is a top-level "types" array. Each entry has a "kind" (type / input / interface / enum / union / scalar) and a "name". Object-like kinds also have a "fields" array with name, type, nonNull, isList, and listItemNonNull flags. Enums have a "values" array; unions have a "types" array of member names.
Does it support full GraphQL introspection format?
No — this is a lightweight SDL-to-JSON view, not the full introspection schema returned by __schema queries. The introspection format is much more verbose (kind enums, ofType chains, args, default values). For introspection JSON, use a GraphQL server with the introspection query enabled.
Are field arguments preserved?
Field argument lists are stripped from the field signature so the type information stays clean. If you need argument metadata, run a real GraphQL parser like graphql-js — but for type-only diffing, codegen, and documentation, the simpler JSON is usually what you want.
Does it handle directives and descriptions?
Comments (#) are stripped before parsing. Triple-quoted descriptions on the same line as a field are detected and skipped, but the converter does not preserve them in the output. The focus is on the structural shape of the schema, not its documentation.
How are list and non-null wrappers represented?
Each field carries three booleans: nonNull (the outer ! after the closing bracket), isList (whether the type is wrapped in [ ]), and listItemNonNull (the inner ! before the closing bracket). [User!]! becomes type=User, isList=true, listItemNonNull=true, nonNull=true.
Is my schema sent to your servers?
No. The parser runs in your browser. Open DevTools and check the Network tab when you click Convert — no requests are made. Schemas containing internal type names, deprecated fields, or sensitive entity definitions never leave the device.
Can I round-trip from JSON back to SDL?
The JSON output preserves enough information to regenerate equivalent SDL by hand or with a small script (kind + name + fields with wrappers). However, descriptions, directives, and field arguments are not round-trippable through this tool.