GraphQL Introspection Viewer
GraphQL APIs expose their schema via the introspection query — a single request that returns the full set of types, fields, arguments, and directives. The response is a deeply-nested JSON object that's hard to scan in raw form. This viewer parses an introspection response and renders the schema as a navigable tree: query / mutation / subscription roots first, then every other type with its fields, arg signatures, and descriptions.
How to use the GraphQL Introspection Viewer
Run the GraphQL introspection query against your endpoint (most GraphQL clients have a "fetch introspection" command, or you can use the canonical query at graphql.org). Paste the JSON response here and click Render schema.
The viewer lists the root types (Query, Mutation, Subscription) first with all their fields and arguments, then every other type alphabetically. Toggle "Show built-in types" if you also want the introspection metadata types (these are present in every schema but usually noise).
About GraphQL Introspection Viewer
GraphQL's introspection system lets clients query the schema itself at runtime. Every GraphQL server exposes __schema and __type meta-fields that return the schema's structure — types, fields, arguments, enums, interfaces, unions, directives. This is what powers GraphiQL's autocomplete and the documentation explorer in Apollo Studio / GraphQL Playground.
The canonical introspection query is ~80 lines (you can grab it from graphql-js) and returns a deeply-nested object. Each type has name, kind (OBJECT, INTERFACE, UNION, ENUM, INPUT_OBJECT, SCALAR), fields (for object / interface), inputFields (for input objects), enumValues (for enums), and so on. Field types are represented as nested wrapper objects to express non-null / list modifiers (String! becomes {kind: "NON_NULL", ofType: {kind: "SCALAR", name: "String"}}).
This tool flattens that representation back to readable SDL-style notation (String!, [Int!]!) and groups types by kind for easier scanning. Useful when you want to explore a third-party GraphQL API but don't want to spin up GraphiQL.
Common use cases
- API exploration — quickly survey a new GraphQL API without installing a client.
- Schema review — see all types in a single page, audit for naming inconsistencies.
- Documentation generation — copy field signatures into your own internal docs.
- Migration planning — when moving from one GraphQL server to another, diff the schemas visually.
- Debugging — verify a field actually exists when your client is returning "unknown field" errors.
Frequently asked questions
How do I get the introspection JSON?
Does it support GraphQL SDL output?
graphql-js's buildClientSchema + printSchema functions.What if introspection is disabled on the API?
Does it work with persisted-query / Apollo Federation supergraphs?
_service { sdl } field but that's a different format.