GraphQL Query + Variables Playground
A browser-only GraphQL playground for formatting queries, validating variables, inspecting
operations and fragments, generating multi-language request snippets, building persisted
queries (APQ), and inspecting responses — all without sending your query, variables,
headers, tokens, or responses to any server.
What you can do here
- Format and minify GraphQL queries, mutations, and subscriptions.
- Pick a single operation from a multi-operation document.
- Validate variables JSON against the declared
$variables in your query.
- Inspect fragments, directives, aliases, and selection-set depth.
- Generate request JSON, cURL (Bash, PowerShell, CMD), Fetch, Axios, Python, and Node snippets.
- Export a Postman v2.1 collection and environment for the request.
- Build a Persisted Query (APQ) hash with SHA-256 in your browser.
- Inspect a GraphQL response for
data, errors, and extensions.
- Detect secrets in headers and variables and redact them before sharing.
- Export a Markdown bug-report and hand off to other Daily Developer Tools.
When to use it
- Reproduce a GraphQL request from a bug report or QA ticket.
- Confirm variables match the query before sharing an example.
- Switch between
POST JSON, GraphQL-over-GET, and Persisted Queries.
- Generate consistent cURL / Fetch / Axios / Python / Node snippets for docs.
- Inspect a saved GraphQL response and pinpoint
errors[] paths.
How to use it
- Paste a GraphQL operation into the Query editor.
- Paste matching variables into the Variables JSON editor.
- Set the endpoint URL and (optionally) headers and authentication.
- Use the tabs to format the query, validate variables, build a request, generate snippets,
compute a persisted-query hash, or inspect a response.
- Copy any output, or use Exports to save request JSON, cURL, Fetch,
Postman collection, Markdown report, and more.
Tips & pitfalls
- Variables must be a JSON object — not an array.
- If the document has multiple operations, set
operationName so the server runs the right one.
- Required variables (
Type!) must be present in the variables object.
- For GraphQL-over-GET, large queries may exceed URL limits — prefer POST or APQ.
- Persisted Queries reduce payload size but require the server to know the query hash.
- Tokens, cookies, and API keys in headers are detected and can be sanitized before export.
Privacy
All GraphQL parsing, formatting, variable checks, request generation, snippet generation,
persisted-query hashing, response inspection, secret detection, redaction, exports, and
workflow handoffs run fully in your browser. Nothing is uploaded.
Frequently asked questions
Does this tool send my query or variables anywhere?
No. The playground runs entirely in your browser. Endpoints in generated snippets are only
called when you copy and run the snippet yourself.
Can I generate a Persisted Query (APQ) hash?
Yes. The tool computes the SHA-256 hash of the query string in your browser using the Web
Crypto API and adds an extensions.persistedQuery block to the request.
Can I export a Postman collection?
Yes. The Exports tab produces a Postman v2.1 collection and environment with the GraphQL
body mode, headers, and variable references.
Does it support fragments and directives?
Yes. The operation analyzer lists named fragments, fragment spreads, inline fragments, and
directives used in your selection set.
How are secrets handled?
Headers and variables are scanned for tokens, JWTs, API keys, and cookies. You can choose to
redact them as [MASKED] or replace them with {{variables}} before
exporting.
Runs locally in your browser. No uploads.