JWT 디코더
관련 도구
JWT란?
JWT(JSON Web Token)는 두 시스템 간에 정보를 안전하게 전달하기 위한 토큰 형식입니다. Header, Payload, Signature 세 부분이 마침표(.)로 구분되며, 각 부분은 Base64URL로 인코딩되어 있습니다.
JWT 구조
- Header — 토큰 유형과 서명 알고리즘 정보를 담고 있습니다.
- Payload — 전달할 데이터(Claims)가 포함됩니다. sub, exp, iat 등의 표준 클레임이 있습니다.
- Signature — Header와 Payload를 서명한 값으로, 토큰의 무결성을 검증합니다.
주요 클레임
- exp — 토큰 만료 시간 (Unix timestamp)
- iat — 토큰 발급 시간
- sub — 토큰 주체 (사용자 ID 등)
- iss — 토큰 발급자
보안 유의사항
- 디코딩과 검증은 다릅니다 — 이 도구는 내용을 읽기 쉽게 풀어 보여줄 뿐, 서명(Signature)의 유효성을 검증하지 않습니다. 토큰이 위조되지 않았는지는 비밀 키를 가진 서버만 확인할 수 있습니다.
- Payload는 암호화가 아닙니다 — Base64URL은 누구나 풀 수 있는 인코딩입니다. JWT에 비밀번호 같은 민감 정보를 담으면 안 되는 이유입니다.
- 실서비스 토큰 취급 주의 — 유효한 토큰이 유출되면 세션을 탈취당할 수 있습니다. 이 도구는 토큰을 서버로 전송하지 않고 브라우저 안에서만 디코딩하지만, 토큰을 다른 곳에 붙여넣거나 공유할 때는 항상 주의하세요.
자주 묻는 질문
- 이 도구가 JWT 서명을 검증하나요?
- 아니요. 내용(Header·Payload)을 디코딩해 보여줄 뿐 서명 유효성은 검증하지 않습니다. 위조 여부는 비밀 키를 가진 서버만 확인할 수 있습니다.
- 입력한 토큰이 서버로 전송되나요?
- 아니요. 브라우저 안에서만 디코딩되며 외부로 전송되지 않습니다. 다만 유효한 토큰은 유출 시 세션이 탈취될 수 있으니 공유에 주의하세요.
- JWT에 비밀번호 같은 민감 정보를 담아도 되나요?
- 안 됩니다. Payload는 암호화가 아니라 Base64URL 인코딩이라 누구나 디코딩해 볼 수 있습니다.
- 토큰 만료 여부는 어떻게 확인하나요?
- Payload의 exp(만료 시간, Unix timestamp)로 판단합니다. 이 도구는 디코딩 시 만료 시간을 함께 표시합니다.