JWT 디코더
JSON 웹 토큰의 헤더와 페이로드를 디코드합니다(서명 검증 없음)
JWT란 무엇인가요?
JSON 웹 토큰은 점으로 구분된 세 개의 Base64URL 인코딩된 부분으로 구성됩니다: 헤더(어떤 알고리즘이 사용되는지), 페이로드(클레임 — 일반적으로 사용자 ID, 만료, 범위), 그리고 서명입니다. 헤더와 페이로드는 암호화되지 않고 단지 인코딩만 되어 있습니다 — 토큰이 있는 누구나 이를 읽을 수 있습니다. 서명은 토큰이 변조되지 않았음을 증명합니다.
디코더는 세 부분을 나누고, 첫 두 부분을 Base64URL 디코드한 후 JSON을 예쁘게 출력합니다. 서명을 검증하지 않습니다 — 이는 발급 서버의 비밀 또는 공개 키가 필요합니다. 신뢰할 수 없는 디코더에 프로덕션 토큰을 붙여넣지 마세요; 이 도구는 브라우저 전용이며 절대 업로드하지 않지만, 습관적으로 테스트를 위해 자신의 개발 환경에서 토큰을 사용하세요.
사용 사례
- 타사 JWT 감사 — Authorization 헤더를 붙여넣어 원격 디버거를 신뢰하지 않고 헤더와 페이로드를 읽습니다.
- 인증 실패 디버깅 — 401이 발생할 때 exp / iat / aud 클레임이 백엔드에서 기대하는 것과 일치하는지 확인합니다.
- OAuth / OIDC 토큰 검사 — Google, Auth0 또는 Okta에서 반환된 액세스 또는 ID 토큰을 디코드하여 사용자 클레임을 확인합니다.
- JWT 구조 교육 — 학생들에게 세 개의 Base64 세그먼트와 서명이 페이로드를 보호하지만 암호화하지 않는 방법을 보여줍니다.
예시
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyXzEiLCJleHAiOjE3MDAwMDAwMDB9.signatureHeader:
{"alg": "HS256"}
Payload:
{"sub": "user_1", "exp": 1700000000}자주 묻는 질문
디코더가 서명을 검증하나요?
아니요 — 검증은 토큰을 서명하는 데 사용된 비밀(HS256) 또는 공개 키(RS256)가 필요합니다. 디코더는 내부 내용을 보여줄 뿐이며, 신뢰는 서버 측 검증에서 나옵니다.
JWT 내용이 암호화되나요?
아니요, 단지 Base64로 인코딩되어 있습니다. 토큰이 있는 누구나 클레임을 읽을 수 있습니다. 클레임이 기밀이어야 하는 경우 JWE(암호화된 JWT)를 사용하세요.
`exp` 클레임은 무엇을 의미하나요?
토큰이 만료되는 Unix 타임스탬프입니다. `exp`가 지난 토큰은 서버에서 거부되어야 합니다. 디코더가 만료된 토큰을 표시합니다.
형식이 잘못된 토큰을 디코드할 수 있나요?
어떤 부분이 Base64 디코드 또는 JSON으로 파싱하는 데 실패하면, 디코더는 문제의 부분을 가리키는 오류를 표시합니다.
내 토큰이 업로드되나요?
아니요. 디코딩은 순수 JavaScript로 이루어지며 — 당신의 토큰은 당신의 기기에 남아 있습니다.
