PKCE (RFC 7636) generates a random code_verifier in your browser, then computes code_challenge = BASE64URL(SHA-256(verifier)). Send the challenge on /authorize and replay the verifier on /token.
⚠️ Keep code_verifier secret until the /token exchange. Send only code_challenge on /authorize. Never reuse a verifier across sessions.
code_verifier (secret)
0 bits0 charsRFC 7636 compliant
code_challenge (public)
S256SHA-256 → BASE64URL

🛠 Build Authorization Request URL

Authorization URL will appear here after you fill the endpoint, client ID, and click Build.

📋 Token Exchange Request Body

Token exchange snippet will appear here after Generate.
Paste an existing code_verifier to audit it against RFC 7636 — length, charset and implied S256 challenge.
Paste a code_verifier and a code_challenge — the tool recomputes BASE64URL(SHA-256(verifier)) and confirms whether they match. Useful for debugging invalid_grant errors during token exchange.