PKCE Verifier — Generate Code Challenge and Validate OAuth 2.0 S256 Keys
Validate a PKCE code_verifier against RFC 7636, compute the SHA-256 code_challenge with Base64URL encoding, and verify it matches an expected value. Includes a random verifier generator and the RFC 7636 official test vector.
How to Use PKCE Verifier — Generate Code Challenge and Validate OAuth 2.0 S256 Keys
How to Use the PKCE Challenge Verifier:
Paste a code_verifier: Enter your existing code_verifier in the textarea. The verifier must be 43–128 characters and use only URL-safe characters: A–Z, a–z, 0–9, hyphen (-), period (.), underscore (_), and tilde (~). The validation panel shows length, charset, and overall RFC 7636 compliance in real-time.
Generate a random verifier: Click "Generate Random" to create a cryptographically random 64-character code_verifier using the browser's crypto.getRandomValues API. This is equivalent to what your OAuth client library generates.
Compute the challenge: The tool automatically computes the S256 code_challenge (BASE64URL(SHA256(code_verifier))) as soon as a verifier is entered. The computation runs in the browser using the Web Crypto API — no server call is needed.
Verify against an expected challenge: Paste your expected code_challenge in the second field to compare. The tool shows:
- S256 MATCH / MISMATCH: whether your expected challenge matches the SHA-256 transform
- PLAIN match: whether the expected value equals the verifier itself (the deprecated "plain" method)
Use the test vectors: Click "RFC 7636 Test Vector" to load the official code_verifier and code_challenge from RFC 7636 Appendix B. This is useful to verify the tool's implementation is correct before using it to debug your own PKCE flow.
Common Debugging Scenarios:
- Server rejects token exchange: paste the verifier from the token request and compare to the challenge from the authorization request
- Challenge mismatch: check that no URL encoding or whitespace was added to the verifier between the two requests
- Invalid verifier: look for characters outside the allowed set — especially + and / from standard Base64 (should use - and _ instead)
Frequently Asked Questions
Most Viewed Tools
Screen Size Converter — Diagonal Dimension Tool
Calculate screen width and height from diagonal size and aspect ratio. Convert between inches and centimeters for displays, TVs, and monitors with instant dimension calculations.
Use Tool →TOTP Code Generator — 2FA Testing Tool
Generate time-based one-time passwords from a TOTP secret key. Enter your base32 secret, choose a period and digit length, and get the current and next codes with a live countdown timer. Useful for testing and debugging 2FA integrations.
Use Tool →JSON to Zod — Schema Generator
Generate Zod validation schema code from a JSON sample object. Infers z.string(), z.number(), z.boolean(), z.array(), z.object(), and z.null() types automatically. Handles nested objects, arrays of objects with optional field detection, and outputs copy-ready TypeScript with import and z.infer type alias.
Use Tool →JSONL Formatter — Line-by-Line Validator
Format, validate, and inspect JSON Lines (JSONL) and NDJSON files. Validates each line individually, reports parse errors by line number, outputs compact JSONL or a pretty-print preview, and lets you download the cleaned file.
Use Tool →Password Entropy Calculator — Crack Time Estimator
Calculate the information-theoretic bit entropy of any password or API key. Detects character set pools automatically, shows the total number of possible combinations, and estimates crack time across five attack scenarios from rate-limited web logins to GPU cracking clusters.
Use Tool →TLS Cipher Suite Checker — Strength Analyzer
Check TLS protocol version compatibility and cipher suite strength ratings against current best practices. Supports IANA and OpenSSL cipher names — rates each suite as Strong, Weak, or Deprecated and explains why.
Use Tool →Secret Scanner — API Key & Credential Detector
Scan pasted text, code, or config files for accidentally exposed API keys, tokens, passwords, and private keys. Detects 50+ secret types across AWS, GitHub, Stripe, OpenAI, and more — all client-side, nothing leaves your browser.
Use Tool →TOML Config Validator — Syntax Error Finder
Validate TOML configuration file syntax and report errors with line numbers. Paste any TOML content — Cargo.toml, pyproject.toml, config.toml — and instantly see a green checkmark with key counts and structure stats, or a precise error message pointing to the exact line. Includes a collapsible JSON structure preview to confirm what was parsed.
Use Tool →Related Privacy & Security Tools
API Key Hasher — Secure Storage Tool
Hash API keys using SHA-256, SHA-512, or PBKDF2 before storing them in your database. Generates a Node.js verification snippet and shows the recommended storage format — all 100% client-side using the Web Crypto API.
Use Tool →PGP Key Generator — Browser-Based Key Pair Tool
Generate PGP public and private key pairs for email encryption and code signing. Supports ECC (Curve25519) and RSA up to 4096-bit. Entirely browser-side — keys never leave your device.
Use Tool →TOTP Code Generator — 2FA Testing Tool
Generate time-based one-time passwords from a TOTP secret key. Enter your base32 secret, choose a period and digit length, and get the current and next codes with a live countdown timer. Useful for testing and debugging 2FA integrations.
Use Tool →OAuth 2.0 Scope Builder — Permission String Tool
Build and decode OAuth 2.0 scope strings for Google, GitHub, Stripe, and custom providers. Toggle permissions with risk indicators, generate ready-to-use scope strings, and decode existing scope strings to understand what access they grant.
Use Tool →TLS Cipher Suite Checker — Strength Analyzer
Check TLS protocol version compatibility and cipher suite strength ratings against current best practices. Supports IANA and OpenSSL cipher names — rates each suite as Strong, Weak, or Deprecated and explains why.
Use Tool →IP Allowlist Generator — Firewall Rule Builder
Generate ready-to-paste IP allowlist and blocklist rules for nginx, Apache, iptables, UFW, and AWS Security Groups. Enter IP addresses or CIDR ranges, select your target platform, and get production-ready firewall config instantly.
Use Tool →Password Entropy Calculator — Crack Time Estimator
Calculate the information-theoretic bit entropy of any password or API key. Detects character set pools automatically, shows the total number of possible combinations, and estimates crack time across five attack scenarios from rate-limited web logins to GPU cracking clusters.
Use Tool →Content Security Policy Generator — XSS Shield Builder
Build Content Security Policy headers interactively. Toggle directives like script-src, style-src, and img-src, select allowed source tokens, and add custom origins. Instantly outputs your CSP as an HTTP header, meta tag, Nginx directive, or Apache header.
Use Tool →Share Your Feedback
Help us improve this tool by sharing your experience