GraphQL Schema Explorer

Load a schema and paste an operation to see which root fields it exposes, whether the operation's selections exist, and a ready-to-edit variables template. Everything runs in the browser; partial checks do not replace full GraphQL validation.

Runs locally in your browser
Parsing and analysis run entirely in your browser. No data is uploaded or sent to an API.
Schema or introspection JSON
Operation to validate

This is a schema and query helper. It does not send the operation, variables, or schema to a GraphQL endpoint.

Schema summary
  • Paste a schema to inspect types, root fields, and a local operation.
Variables template
Types and root fields
  • Paste a schema to inspect types, root fields, and a local operation.

Validate GraphQL structure before using an API client

The explorer identifies common SDL and introspection structures, checks root fields, and creates a starting variables object. It is not a replacement for server-side GraphQL validation.

How to use “GraphQL Schema Explorer”

The explorer reads a GraphQL schema in SDL form or an introspection JSON response and lists every type it finds together with the root types the schema defines.

Paste an operation under the schema to check its root selections against the matching root type and to build a variables template. Parsing and checking run in the browser; nothing is sent to an endpoint.

  1. Paste the SDL or introspection JSON into the left pane, or load a .graphql, .json or .txt file from disk.
  2. Paste the query, mutation or subscription to check into the right pane.
  3. Press Inspect schema & query: the summary counts types and root fields, and the findings mark each root selection as present or missing.
  4. Copy the variables template and fill in real values before you run the operation in your API client.

Background and accuracy

What the check covers

The schema is scanned with a tokenizer that understands descriptions, comments, directives and default values, so types and fields survive braces inside default object values or block strings, and enum values are not mixed up with their directives.

For the pasted operation the explorer takes the first query, mutation or subscription and skips fragment definitions. Its top-level selections — aliases included — are compared with the fields of the matching root type instead of being guessed.

Root types and selections

A schema defines its roots either in a schema { ... } block or through the default names Query, Mutation and Subscription. The block takes precedence, so a type named Query is only a root when the block maps query to it.

Fragment spreads and inline fragments do not count as fields. A query is checked against the query root, a mutation against Mutation and a subscription against Subscription; when the schema has no such root type, the explorer says so instead of reporting a wrong field.

Variables template

Every variable in the operation gets an example value: String and ID become "example", Int and Float 0, Boolean false, enums use their first value, and input objects are expanded with their own fields.

List types produce arrays ([ID!]! becomes ["example"]); deeply nested inputs fall back to "example" after three levels. The template is a starting point that is never uploaded and never executed.

Recent tools: