Check a GraphQL query or schema for errors, optionally against your own SDL
Runs in your browser. Nothing you type is sent anywhere. Checked against sources on 22 Oct 2026.Paste a query and see every problem with its line and column: syntax errors from the reference parser, variables that are used but never declared or declared but never used, unknown or unused fragments and duplicate names. Paste your schema too and the query is checked with every rule of the GraphQL specification, so unknown fields, wrong argument types and missing sub-selections show up before the request is sent.
The page opens with Check against a schema turned on.
Paste your query into the GraphQL pane and your schema, in SDL, into the Schema pane.
Read each problem with its line and column; schema errors are marked as such.
Fix the query until the checks say no problems found, then copy the formatted result.
Queries copied from logs, network tabs or code are often on one line or indented by hand. Paste one here and it is formatted as you type, one field per line, with the indent you choose. The parser and printer are graphql-js, the reference implementation that most JavaScript GraphQL servers run, so a document that parses here is one your server will parse too.
Checks with your schema. Turn on Check against a schema and paste your SDL, and every rule of section 5 runs: unknown fields with suggestions, arguments of the wrong type, missing sub-selections, fragments on the wrong type. A schema file on its own is checked too: unknown types, duplicate names, interfaces not fully implemented.
Comments. The graphql-js printer drops comments. Comments above a definition and at the end of the file are put back where they were; a comment inside a definition is counted and reported, so nothing is lost without you knowing. Minify removes every comment and all optional whitespace and commas, which is what you want for a GET request or a persisted query.
The rest of the article, and all 6 questions about GraphQL Formatter, are on the GraphQL Formatter page.
Paste the query into the GraphQL pane and the formatted version appears next to it as you type. Pick 2 spaces, 4 spaces or a tab, then press Copy or Ctrl+Enter. Schemas in SDL, mutations, subscriptions and fragments are formatted the same way.
Yes. Turn on Check against a schema and paste your schema in SDL. The query is then checked with every validation rule of the GraphQL specification, and each problem, such as an unknown field or an argument of the wrong type, is listed with its line and column.
No. Parsing, formatting and validation all run in your browser with the graphql-js library, so the query, its variables and your schema never leave your device. Internal schemas and queries with real IDs are safe to paste.
Syntax errors, variables used but not declared, variables declared but never used, unknown or unused fragments, fragment cycles, duplicate operation, variable, argument and input field names, and an anonymous operation next to other operations. Field names and types need the schema to be checked.
Rates and rules change; check the source before you rely on a figure.
Still stuck? Ask about GraphQL Formatter and anybody who knows can answer. No account needed.
Same job, other tools: JSON Validator – Check JSON and see exactly where it breaks · XML Validator – Check XML is well formed and see exactly where it breaks.
On the related tools: Markdown to HTML – Convert Markdown into clean, safe HTML you can paste anywhere.