JWT (JSON Web Token) 분석기

비밀 키를 외부로 전송하지 않고 JWT 토큰의 클레임과 페이로드를 안전하게 디코딩.

JWT (JSON Web Token) 분석기

비밀 키를 외부로 전송하지 않고 JWT 토큰의 클레임과 페이로드를 안전하게 디코딩.

사용 방법

1
텍스트 입력 또는 붙여넣기
입력 공간에 텍스트나 코드를 직접 붙여넣습니다.
2
변환 및 검사 적용
도구를 실행하여 텍스트를 포맷팅, 필터링 또는 분석합니다.
3
결과 복사
정리된 결과물을 클립보드에 바로 복사합니다.
개념 및 지식 허브

JWT 디코더: JSON Web Token 구조 분해, 페이로드 분석 및 만료시간 검증

JWT 디코더는 모던 클라우드 웹 아키텍처, 분산 마이크로서비스 연동 및 OAuth 2.0 / OIDC 표준 인증 프로토콜에서 광범위하게 쓰이는 JSON Web Token(RFC 7519)의 헤더(Header), 페이로드(Payload), 서명(Signature) 영역을 즉각 분해하여 클레임 구조를 명쾌하게 시각화하는 전문 디버깅 도구입니다. 마침표(.) 문자로 구분된 Base64URL 인코딩 토큰을 파싱하여 발급자(iss), 대상자(sub), 발급 시간(iat), 만료 시간(exp) 및 커스텀 인가 클레임을 표준 로컬 일시 타임스탬프로 정확히 환산해 줍니다.

실제 프론트엔드 연동 중 백엔드 API 게이트웨이에서 401 Unauthorized 에러가 지속해서 반환되는 긴급 장애 상황에서 클라이언트 헤더의 원시 토큰 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLTEwMSIsIm5hbWUiOiLquYDrr7zsiJgiLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3MDQwMDAwMDAsImV4cCI6MTcwNDAwMzYwMH0...을 입력창에 붙여넣으면, 디코더가 페이로드 내부의 만료 타임스탬프(exp: 1704003600)를 역산하여 '만료 시간 3시간 경과(Expired)' 상태임을 붉은색 경고 배지와 함께 0.01초 내로 식별해 내어 토큰 만료 장애의 근본 원인을 즉각 규명할 수 있습니다.

모든 디코딩 연산은 외부 인증 서버나 네트워크 API 호출 없이 오직 사용자의 브라우저 로컬 메모리 스레드 안에서 순수 자바스크립트로 실행됩니다. 사내 스테이징 및 프로덕션 환경의 실 사용자 액세스 토큰이나 관리자 권한 클레임이 외부 네트워크에 노출될 우려가 전혀 없어 엔터프라이즈 인증 시스템 디버깅에 매우 안전하며 신뢰할 수 있습니다.

핵심 아키텍처 및 수학 공식

JWT 토큰 = Base64URL(JOSE Header) . Base64URL(Claims Payload) . Signature

마침표(.)를 구분자로 토큰을 3개 섹션으로 분리한 후 URL-Safe Base64 디코딩을 수행하여 JSON 객체로 파싱하고 만료시간(exp)과 현재 시간을 대조합니다.

모범 사례 및 필수 지침

  • 페이로드 내부 민감 정보 수록 금지: JWT의 페이로드는 암호화(Encryption)된 것이 아니라 누구나 디코딩할 수 있는 인코딩 상태이므로 비밀번호, 주민등록번호, 개인 금융 정보를 포함해서는 안 됩니다.
  • 백엔드 수신 시 전자서명 검증 필수: 클라이언트 사이드 디코딩은 클레임 확인 용도일 뿐이며, 실제 인가 처리 시에는 반드시 서버 비밀키나 공개키(JWKS)로 서명 무결성을 검증해야 위변조를 막을 수 있습니다.
  • 알고리즘 'none' 공격 차단: 악의적인 클라이언트가 헤더의 alg를 none으로 변조하여 서명 검증을 우회하려는 공격을 방어하기 위해 서버에서 허용 알고리즘 목록(HS256, RS256 등)을 엄격히 화이트리스트 검증하세요.
  • 적절한 토큰 만료 기간 설정: 탈취 위험을 최소화하기 위해 액세스 토큰(Access Token)의 유효 기간은 15분~1시간 내외로 짧게 유지하고 리프레시 토큰(Refresh Token) 교환 메커니즘을 결합하세요.

자주 묻는 질문 (FAQ)

JWT를 디코딩할 수 있다면 서명(Signature)은 왜 존재하는 건가요?
디코딩은 누구나 내용을 읽을 수 있게 하지만, 서명은 발급자가 발행한 이후 토큰 내용이 1바이트라도 위변조되지 않았음을 수학적으로 증명하는 무결성 보증 장치입니다.
만료된 JWT 토큰은 클라이언트에서 강제로 갱신할 수 있나요?
불가능합니다. 만료 시간(exp)을 수정하면 서명 해시가 불일치하게 되므로, 유효한 리프레시 토큰을 인증 서버로 전송하여 새로운 서명이 날인된 토큰을 재발급받아야 합니다.
대칭키(HS256)와 비대칭키(RS256) 방식의 실무적 차이는 무엇인가요?
HS256은 서명과 검증에 동일한 비밀키를 공유하므로 단일 서비스에 적합하며, RS256은 프라이빗 키로 서명하고 누구나 퍼블릭 키(JWKS)로 검증할 수 있어 마이크로서비스 및 OAuth 환경에 권장됩니다.
실제 상용 서비스의 액세스 토큰을 여기에 붙여넣어도 안전한가요?
네, 안전합니다. 토큰 파싱과 유효기간 계산은 전적으로 사용자의 웹 브라우저 메모리 안에서 자바스크립트로만 수행되며 외부 네트워크로 일절 전송되지 않습니다.