Skip to content

Latest commit

 

History

History
58 lines (43 loc) · 1.96 KB

File metadata and controls

58 lines (43 loc) · 1.96 KB

JWT Debugger

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.

Features

  • 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.

Getting Started

# Install dependencies
npm install

# Start dev server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

Tech Stack

  • React 19 + TypeScript
  • Vite
  • jose — JWT signing and verification via Web Crypto API

Project Structure

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

License

MIT