JWT 디코더

JWT 토큰을 분석하여 헤더, 페이로드, 시그니처를 확인합니다. 만료 시간 검증, HMAC 서명 확인, 표준 클레임 분석을 지원합니다.

최종 업데이트: 2026/02/28

JWT 디코더

JWT 토큰 입력
서명 검증 (선택)
모든 데이터는 브라우저에서만 처리됩니다
최근 히스토리전체 삭제
저장된 히스토리가 없습니다

JWT 토큰을 입력하면 자동으로 디코딩됩니다

100% 브라우저 처리: 입력한 JWT와 Secret Key는 서버로 전송되지 않습니다. 모든 디코딩과 검증은 브라우저에서만 이루어지며, 페이지를 닫으면 데이터가 삭제됩니다.

JWT 디코더란?

JWT 디코더는 JSON Web Token(JWT)을 분석하여 헤더, 페이로드, 시그니처를 확인하고 토큰의 유효성을 검증하는 도구입니다. API 인증, OAuth, SSO 등에서 사용되는 JWT 토큰을 쉽게 분석할 수 있어 개발 및 디버깅에 필수적입니다.

토큰을 붙여넣기만 하면 즉시 디코딩되어 알고리즘, 만료 시간, 발급 정보 등 모든 클레임을 시각적으로 확인할 수 있습니다. HMAC 알고리즘의 경우 Secret Key를 입력하여 서명 유효성까지 검증할 수 있습니다.

이런 상황에서 사용하세요

  • API 디버깅 – REST API 인증 토큰의 내용을 확인하고 만료 여부를 점검할 때
  • OAuth 개발 – OAuth 2.0 / OpenID Connect 구현 시 access_token, id_token 분석
  • 인증 오류 해결 – “Token expired”, “Invalid signature” 등 인증 에러 원인 파악
  • 보안 검토 – JWT에 포함된 민감 정보 확인 및 보안 취약점 점검
  • 학습 목적 – JWT 구조와 동작 원리를 이해하기 위한 실습
  • 클라이언트 개발 – 프론트엔드에서 토큰 파싱 및 만료 처리 로직 테스트

주요 기능

  • 실시간 디코딩 – JWT 입력 즉시 헤더, 페이로드, 시그니처로 분리하여 JSON 형태로 표시
  • 만료 시간 검증 – exp, iat, nbf 클레임을 분석하여 토큰 유효 여부와 남은 시간 표시
  • HMAC 서명 검증 – HS256, HS384, HS512 알고리즘의 서명을 Secret Key로 검증
  • 클레임 상세 분석 – iss, sub, aud 등 표준 클레임을 한눈에 확인
  • 구문 강조 – JSON 키, 문자열, 숫자, 불리언을 색상으로 구분
  • 히스토리 저장 – 최근 디코딩한 JWT 5개를 로컬에 저장하여 빠르게 재사용
  • 클립보드 복사 – 헤더, 페이로드, 시그니처를 개별적으로 복사
  • 샘플 JWT – 테스트용 샘플 토큰을 즉시 로드하여 기능 확인

사용 방법

  1. JWT 입력 – 왼쪽 입력창에 분석할 JWT 토큰을 붙여넣습니다. (eyJ…로 시작하는 문자열)
  2. 결과 확인 – 오른쪽에 Header(알고리즘), Payload(데이터), Signature(서명)가 분리되어 표시됩니다.
  3. 만료 확인 – 상단 상태 카드에서 토큰 유효 여부와 남은 시간을 확인합니다.
  4. 서명 검증 (선택) – HMAC 알고리즘인 경우 Secret Key를 입력하면 서명 유효성이 표시됩니다.
  5. 복사/활용 – 각 섹션의 복사 버튼으로 필요한 부분을 클립보드에 복사합니다.

JWT 구조 이해하기

JWT는 점(.)으로 구분된 세 부분으로 구성됩니다:

구성 요소 내용 예시
Header 알고리즘(alg)과 토큰 타입(typ) {"alg":"HS256","typ":"JWT"}
Payload 클레임(Claims) – 토큰에 담긴 정보 {"sub":"123","name":"John"}
Signature 헤더+페이로드를 비밀키로 서명한 값 HMACSHA256(header.payload, secret)

표준 JWT 클레임

클레임 설명 예시
iss 발급자 (Issuer) https://auth.example.com
sub 주체 (Subject) – 사용자 ID user_12345
aud 대상 (Audience) – 토큰 수신자 my-app
exp 만료 시간 (Expiration Time) 1735689600 (Unix timestamp)
iat 발급 시간 (Issued At) 1735686000 (Unix timestamp)
nbf 활성화 시간 (Not Before) 1735686000 (Unix timestamp)
jti 토큰 고유 ID (JWT ID) abc123xyz

지원 알고리즘

  • HS256 (HMAC + SHA-256) – 대칭키 알고리즘, 가장 일반적으로 사용됨. Secret Key로 서명 검증 가능
  • HS384 (HMAC + SHA-384) – HS256보다 긴 해시, 더 높은 보안성
  • HS512 (HMAC + SHA-512) – 가장 긴 HMAC 해시, 최고 보안성
  • RS256, RS384, RS512 – RSA 비대칭키 알고리즘 (디코딩만 지원, 서명 검증 미지원)
  • ES256, ES384, ES512 – ECDSA 타원곡선 알고리즘 (디코딩만 지원)

* RSA, ECDSA 알고리즘의 서명 검증은 공개키가 필요하며, 현재 버전에서는 HMAC 알고리즘만 서명 검증을 지원합니다.

개인정보 보호

이 도구는 100% 브라우저에서 동작합니다. 입력한 JWT 토큰과 Secret Key는 절대 서버로 전송되지 않으며, 모든 디코딩과 서명 검증은 사용자의 기기에서만 이루어집니다. 브라우저를 닫으면 모든 데이터가 삭제됩니다. (히스토리는 로컬 스토리지에 저장되며, ‘전체 삭제’로 언제든 삭제 가능)

상세 설명

JWT 디코더 결과는 입력한 값과 선택한 조건을 기준으로 계산됩니다.

최종 판단이 필요한 경우에는 공식 자료나 전문가 검토와 함께 활용하세요.

자주 묻는 질문

JWT 디코딩에 Secret Key가 필요한가요?

아니요, JWT의 Header와 Payload는 Base64Url 인코딩만 되어 있어서 Secret Key 없이도 디코딩할 수 있습니다. Secret Key는 서명(Signature) 검증에만 필요합니다. 따라서 JWT에 민감한 정보를 담으면 안 됩니다.

토큰이 만료되었다고 나오는데 어떻게 해야 하나요?

JWT의 exp(만료 시간) 클레임이 현재 시간보다 과거인 경우 만료된 것으로 표시됩니다. 만료된 토큰은 서버에서 거부되므로, 리프레시 토큰을 사용하거나 다시 로그인하여 새 토큰을 발급받아야 합니다.

서명 불일치가 나오는 이유는 무엇인가요?

입력한 Secret Key가 토큰 발급 시 사용된 키와 다르면 서명 불일치가 발생합니다. 또한 RSA나 ECDSA 알고리즘의 경우 이 도구에서는 HMAC만 지원하므로 “HMAC만 지원”으로 표시됩니다. 정확한 Secret Key를 확인하세요.

JWT와 세션 기반 인증의 차이점은 무엇인가요?

세션 기반 인증은 서버가 세션 정보를 저장하고 쿠키로 세션 ID를 관리합니다. 반면 JWT는 토큰 자체에 정보가 담겨 있어 서버가 상태를 저장할 필요가 없습니다(Stateless). JWT는 마이크로서비스, 모바일 앱, SPA에 적합하고, 세션은 전통적인 웹 애플리케이션에 적합합니다.

JWT에 어떤 정보를 담으면 안 되나요?

JWT의 Payload는 암호화되지 않고 인코딩만 되어 있어 누구나 볼 수 있습니다. 따라서 비밀번호, 신용카드 번호, 주민등록번호 등 민감한 정보를 절대 담으면 안 됩니다. 사용자 ID, 권한(role), 만료 시간 등 필수 정보만 포함하세요.

입력한 JWT가 서버로 전송되나요?

아니요, 이 도구는 100% 브라우저(클라이언트)에서 동작합니다. 입력한 JWT와 Secret Key는 서버로 전송되지 않으며, 모든 디코딩과 검증은 JavaScript로 브라우저에서만 처리됩니다. 네트워크 탭에서 직접 확인할 수 있습니다.

익명의 의견 1

다른 이용자에게 불편을 줄 수 있는 표현이나 반복성 글은 운영 기준에 따라 숨김 또는 삭제될 수 있습니다.

남은 글자수: 120

아직 댓글이 없습니다. 첫 의견을 남겨보세요.