A privacy-first JWT debugger that runs entirely in your browser. Decode, inspect, and verify JSON Web Tokens without sending data anywhere.
Built as an alternative to jwt.io for those who prefer not to paste tokens on third-party websites.
- JWT Decoder — Paste a token and instantly see the decoded header and payload side-by-side
- JWT Encoder — Build and sign JWTs from scratch with custom header, payload, and secret
- Signature Verification — Verify HMAC (HS256/384/512), RSA (RS256/384/512), ECDSA (ES256/384/512), and PSS (PS256/384/512) signatures
- Token History — Previously decoded tokens are saved to localStorage and accessible across sessions
- Light / Dark / System Theme — Respects your OS preference by default, switchable manually
- Fully Local — Zero network requests. Everything happens in your browser via the Web Crypto API.
# Install dependencies
npm install
# Start dev server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview- React 19 + TypeScript
- Vite
- jose — JWT signing and verification via Web Crypto API
src/
types/ — TypeScript type definitions
utils/ — JWT parsing, base64 decoding, time formatting
hooks/ — State management (useJWT, useJWTEncoder, useHistory, useTheme)
components/
Header/ — App header with logo, theme toggle, and history button
ModeTabs/ — Decoder / Encoder tab switcher
JWTInput/ — Token input with validation feedback
DecodedPanel/ — Payload & header display (card view + JSON view)
ClaimBadge/ — Individual claim renderer with smart formatting
SignatureVerifier/ — Signature verification panel
History/ — Saved tokens list
JWTEncoder/ — JWT builder with algorithm selection and signing
MIT