JWT Decoder
서명 검증 없이 JWT 페이로드를 디코딩하고 확인.
이 도구는 JWT를 디코딩만 합니다 — 서명을 검증하지 않습니다. 민감한 토큰을 공유하지 마세요.
JWT 디코더는 JSON Web Token(JWT)을 디코딩하여 코드 작성 없이 헤더, 페이로드, 서명을 검사할 수 있게 해줍니다. JWT는 점(.)으로 구분된 세 개의 Base64 인코딩 섹션으로 구성된 간결하고 URL 안전한 토큰입니다: 알고리즘 헤더, 클레임 페이로드, 암호화 서명.
JWT를 입력 필드에 붙여넣으면 세 구성 요소로 즉시 분리되고 각 섹션의 JSON이 보기 좋게 출력됩니다. 토큰의 만료 시간, 발급 타임스탬프, 사용자 클레임, 발급자가 포함한 사용자 정의 필드를 확인할 수 있습니다.
이 도구는 디코딩만 하며 서명을 검증하지 않습니다. 클레임을 신뢰하기 전에 항상 서버 측에서 적절한 비밀 키나 공개 키를 사용하여 JWT를 검증하세요. 어떤 토큰 데이터도 브라우저를 벗어나지 않습니다.
자주 묻는 질문
코드 구현
import jwt # pip install PyJWT
token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFsaWNlIiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjE3MDAwMDM2MDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
secret = "your-256-bit-secret"
# Decode and verify signature + expiry
try:
payload = jwt.decode(token, secret, algorithms=["HS256"])
print(payload)
# {"sub": "1234567890", "name": "Alice", "iat": 1700000000, "exp": 1700003600}
except jwt.ExpiredSignatureError:
print("Token has expired")
except jwt.InvalidTokenError as e:
print(f"Invalid token: {e}")
# Decode without verification (inspect only — never trust unverified)
unverified = jwt.decode(token, options={"verify_signature": False})
print(unverified)
# Decode manually (no library) — Base64Url decode the payload
import base64, json
parts = token.split(".")
# Add padding back (Base64Url omits =)
payload_b64 = parts[1] + "=" * (-len(parts[1]) % 4)
payload = json.loads(base64.urlsafe_b64decode(payload_b64))
print(payload)
# Encode (create) a JWT
encoded = jwt.encode({"sub": "123", "name": "Alice"}, secret, algorithm="HS256")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.