JWT 디코더
🔒 토큰은 브라우저를 벗어나지 않습니다 — 서버로 전송되지 않습니다.
이 도구에 대하여
JWT 토큰을 즉시 디코딩해 Header, Payload, 표준 클레임(exp, iat, sub, iss, aud 등)을 사람이 읽을 수 있는 설명과 함께 확인하세요. 모든 처리는 브라우저에서 진행되며 토큰은 외부로 전송되지 않습니다.
JWT(JSON Web Token)는 세 부분으로 구성됩니다: Header(알고리즘 및 토큰 유형), Payload(클레임 — 사용자 정보, 만료 시각 등), Signature(무결성 검증용, 이 도구에서는 검증하지 않음). 이 디코더는 Header와 Payload를 읽어 내용을 보여주지만, 서명의 유효성을 검증하지 않습니다.
사용 방법
- JWT 토큰을 붙여넣습니다 — 브라우저 개발자 도구, API 클라이언트, 또는 인증 응답에서 복사한 토큰을 입력란에 붙여넣습니다.
- 디코딩 버튼을 누릅니다 — Header와 Payload가 즉시 보기 좋게 표시됩니다.
- 표준 클레임 설명을 확인합니다 — exp(만료), iat(발급 시각), sub(주체) 등 표준 클레임이 있으면 자동으로 사람이 읽을 수 있는 설명이 표시됩니다.
예시
아래 토큰을 붙여넣어 직접 디코딩해 보세요:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLTEyMyIsIm5hbWUiOiJKYW5lIERvZSIsImlhdCI6MTUxNjIzOTAyMiwiZXhwIjoxNTE2MjQyNjIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
이 토큰의 Payload에는 sub, name, iat, exp 클레임이 포함되어 있습니다. exp가 과거 시각이라 "만료 시각이 지났습니다" 표시가 나타납니다 (이는 시간 비교이며 서명 검증이 아닙니다).
자주 묻는 질문
- 이 토큰이 실제로 유효한지(서명이 올바른지) 확인할 수 있나요?
- 아닙니다 — 이 도구는 토큰을 디코딩(Header와 Payload를 읽음)할 뿐이며, 암호학적 서명을 검증하지 않습니다. 서명 검증에는 토큰 서명에 사용된 비밀키 또는 공개키가 필요하며, 이 도구는 이를 처리하지 않습니다. 서명 검증은 백엔드 또는 신뢰할 수 있는 라이브러리(예: Node.js의 jsonwebtoken)를 사용하세요.
- 제 토큰이 서버로 전송되나요?
- 아닙니다. 모든 디코딩 처리는 브라우저에서 JavaScript로 실행됩니다. 토큰은 어떤 서버에도 전송되지 않고, 로그나 브라우저 저장소 어디에도 기록되지 않습니다. JWT 토큰은 민감한 인증 정보를 포함하는 경우가 많으므로 이 점이 특히 중요합니다.
- "exp" 클레임이 지난 시각으로 나오는데, 토큰이 무효라는 뜻인가요?
- Payload에 선언된 만료 시각이 현재 시각보다 과거라는 의미입니다. 그러나 이것은 단순한 시간 비교이며, 서명 검증과 다릅니다. exp가 지난 토큰이라도 서명 자체는 유효할 수 있고, 반대의 경우도 마찬가지입니다. 토큰이 실제로 허용되거나 거부되는지는 항상 이를 검증하는 서버가 결정합니다.