Security & Auth

JWT Decoder

Decode and inspect JSON Web Tokens — view header, payload, and expiry instantly

보안 & 인증

JWT 디코더

JSON Web Token을 즉시 디코딩 — 헤더·페이로드·만료시간 확인

🔒
Your token stays in your browser. Nothing is sent to any server. All decoding happens locally in JavaScript.
Signature is not verified — this tool only decodes the header and payload. Verification requires the secret key.
Paste your JWT token
Invalid JWT format.
Expiry Status
Header
Payload
Signature ⚠ Not verified

Signature verification requires the secret key and must be done server-side.

Well-Known Claims

How to use

Step 1

Paste your token

Copy a JWT from your app, API response, or browser devtools and paste it into the textarea above.

Step 2

Inspect header & payload

The algorithm, token type, and all payload claims are decoded and displayed instantly.

Step 3

Check expiry

If the token has an exp claim, the expiry time and current validity status are shown prominently.

Step 4

Copy decoded parts

Use the Copy button on each panel to grab the decoded JSON for use in your debugging or testing workflow.

사용 방법

Step 1

토큰 붙여넣기

앱, API 응답, 또는 브라우저 개발자 도구에서 JWT를 복사해 위의 입력창에 붙여넣으세요.

Step 2

헤더 & 페이로드 확인

알고리즘, 토큰 타입, 모든 페이로드 클레임이 즉시 디코딩되어 표시됩니다.

Step 3

만료 시간 확인

토큰에 exp 클레임이 있으면 만료 시각과 현재 유효 여부가 강조 표시됩니다.

Step 4

디코딩 결과 복사

각 패널의 복사 버튼을 눌러 디코딩된 JSON을 디버깅 또는 테스트 워크플로우에 바로 사용하세요.

FAQ

A JSON Web Token (JWT) is a compact, URL-safe token format defined in RFC 7519. It consists of three base64url-encoded parts separated by dots: header.payload.signature. The header describes the signing algorithm, the payload carries claims (user data, expiry, etc.), and the signature ensures the token hasn't been tampered with.
Yes. All decoding happens entirely in your browser using JavaScript — nothing is transmitted to any server. You can verify this by checking the browser's Network tab while using the tool. That said, avoid sharing production tokens with sensitive data in untrusted environments as a general security practice.
JWT signature verification requires the secret key (for HMAC algorithms like HS256) or the public key (for asymmetric algorithms like RS256). These keys are never included in the token itself, and your browser has no way to obtain them. Verification must happen server-side where the key is securely stored.
The exp (Expiration Time) claim specifies when the token expires, as a Unix timestamp (seconds since January 1, 1970 UTC). Servers should reject tokens with an exp in the past. This tool converts the value to a human-readable date and shows whether the token is currently valid or expired.
In JavaScript: JSON.parse(atob(token.split('.')[1].replace(/-/g,'+').replace(/_/g,'/'))). In Node.js use the jsonwebtoken library. In Python use PyJWT. In Go use golang-jwt/jwt. Remember that decoding is not the same as verification — always verify tokens server-side before trusting their contents.

자주 묻는 질문

JSON Web Token(JWT)은 RFC 7519에 정의된 컴팩트하고 URL-safe한 토큰 형식입니다. 점(.)으로 구분된 세 개의 base64url 인코딩 부분(header.payload.signature)으로 구성됩니다. 헤더는 서명 알고리즘을, 페이로드는 클레임(사용자 데이터, 만료 시간 등)을, 시그니처는 토큰 무결성을 보장합니다.
네. 모든 디코딩은 브라우저 내 JavaScript로만 처리되며 어떤 서버에도 전송되지 않습니다. 브라우저 네트워크 탭에서 직접 확인하실 수 있습니다. 다만 일반적인 보안 원칙으로, 민감한 정보가 담긴 프로덕션 토큰은 신뢰할 수 없는 환경에서 공유하지 않는 것이 좋습니다.
JWT 서명 검증에는 비밀 키(HS256 등 HMAC 알고리즘) 또는 공개 키(RS256 등 비대칭 알고리즘)가 필요합니다. 이 키는 토큰 자체에 포함되지 않으며 브라우저에서는 접근할 수 없습니다. 검증은 키가 안전하게 보관된 서버 측에서 수행해야 합니다.
exp(Expiration Time) 클레임은 토큰의 만료 시각을 Unix 타임스탬프(1970년 1월 1일 UTC 기준 초)로 나타냅니다. 서버는 exp가 과거인 토큰을 거부해야 합니다. 이 도구는 값을 사람이 읽기 쉬운 날짜로 변환하고 현재 유효 여부를 표시합니다.
JavaScript: JSON.parse(atob(token.split('.')[1].replace(/-/g,'+').replace(/_/g,'/'))). Node.js는 jsonwebtoken 라이브러리를, Python은 PyJWT를, Go는 golang-jwt/jwt를 사용하세요. 디코딩은 검증과 다릅니다 — 토큰의 내용을 신뢰하기 전에 반드시 서버 측에서 검증하세요.