Quick way to peek inside a JWT without spinning up a debugger or hitting jwt.io. Paste in a token and you get the header, payload, and all claims formatted cleanly, with exp/iat timestamps converted to human-readable dates. It'll yell at you if it spots alg:none (the classic bypass attack), tokens with no expiry, or sensitive data sitting in plain view. This is decode only, no signature verification, so it's for inspection and debugging, not trust decisions. If you need to actually verify a token's signature, you want jwt-validate instead.

skills.sh installs
743
GitHub stars
20
last updated
Aug 21, 2026

Install

$ npx -y skills add jsonwebtoken/jwt-skills --skill jwt-decode --agent claude-code

Installs into .claude/skills of the current project.

Files

JWT Decode

Decode a JWT by base64url-decoding its header and payload. Does NOT verify signatures — use jwt-validate for that.

Steps

  1. Split the token on . into three parts (header, payload, signature).
  2. Base64url-decode and parse parts 1 and 2 as JSON.
  3. Display header, payload (with all claims), and the raw signature string.
  4. For exp, nbf, iat — show both the Unix timestamp and human-readable UTC. If exp is past, note expired and by how long.
  5. Run security checks (see below).

Output Format

## Header
{ "alg": "RS256", "typ": "JWT", "kid": "abc123" }

## Payload
{ "iss": "https://auth.example.com/", "sub": "user|12345", "exp": 1735689600 }

exp: 2025-01-01T00:00:00Z — EXPIRED (3 months ago)
iat: 2024-12-31T00:00:00Z

## Signature
Algorithm: RS256 | Signature: [base64url string]
(Not verified — use jwt-validate to verify)

Security Checks

Flag these prominently when found:

Sponsors

Details

Repository
github.com/jsonwebtoken/jwt-skills
Category
Backend & APIs
First seen
Jun 3, 2026

More from jsonwebtoken/jwt-skills

All 3
1github avatarreact18-enzyme-to-rtlgithub/awesome-copilotProvides exact Enzyme → React Testing Library migration patterns for React 18 upgrades. Use this skill whenever Enzyme tests need to be rewritten - shallow, mou742skills.sh installs
2emzod avatarspeak-ttsemzod/speakGive your agent the ability to speak to you real-time. Talk to your Claude! Local TTS, text-to-speech, voice synthesis, audio generation with voice cloning on A738skills.sh installs
3ruvnet avatariot-registerruvnet/rufloRegister a Cognitum Seed device by endpoint and establish agent bridge737skills.sh installs
4alirezarezvani avatardemo-videoalirezarezvani/claude-skillsUse when the user asks to create a demo video, product walkthrough, feature showcase, animated presentation, marketing video, or GIF from screenshots or scene d736skills.sh installs
5ruvnet avatarsparc-implementruvnet/rufloRun the SPARC Pseudocode and Architecture phases (2 and 3) — write algorithm pseudocode, design module boundaries and API contracts, then implement735skills.sh installs
6AgriciDaniel avatarads-setupAgriciDaniel/claude-adsSet up a paid-media client, brand, account, data-source, privacy, and mutation-guardrail profile for Claude Ads. Use for onboarding, initial configuration, bran734skills.sh installs