EZ
EZ2Conv

JWT 디코더

모든 JSON Web Token을 디코딩하여 헤더, 페이로드, 클레임을 검사하고, 만료·발행·시작(not-before) 시간을 자동으로 확인합니다. 디코딩은 로컬에서 이루어지며 암호학적 서명은 검증하지 않으므로, 프로덕션 토큰 검증이 아니라 디버깅과 검사 용도로 만들어졌습니다.

14px

JWT 디코더 사용 방법

  1. 입력 필드에 JWT 토큰을 붙여넣으세요
  2. 토큰이 자동으로 디코딩되거나 '디코딩' 버튼을 클릭하세요
  3. 디코딩된 헤더, 페이로드, 서명 섹션을 확인하세요
  4. 토큰 유효성, 만료시간, 주요 클레임을 확인하세요
  5. '복사' 버튼을 사용하여 개별 섹션을 복사하세요

JWT Decoder로 JSON Web Token 읽기

이 디코더가 하는 일

JSON Web Token은 마침표로 이어진 세 개의 Base64URL 인코딩 부분, 즉 header, payload, signature로 이루어집니다. 이 디코더는 문자열을 그 마침표 기준으로 나누어 header와 payload를 읽을 수 있는 JSON으로 복원하고, signature 부분은 그대로 보여 줍니다. header의 alg 필드를 읽어 표준 등록 클레임(sub, iss, aud, jti)과 시간 관련 클레임을 함께 표시하므로, 그 토큰이 무엇을 주장하는지 한눈에 확인할 수 있습니다.

토큰을 붙여 넣는 순간 디코딩이 실행되어 별도의 전송 단계가 없습니다. 디코딩된 구조가 어떻게 생겼는지 그냥 살펴보고 싶다면 샘플 토큰도 준비되어 있습니다.

언제 쓰나요

인증이 걸린 요청이 예상과 다르게 동작해서 토큰이 실제로 무엇을 담고 있는지 봐야 할 때 유용합니다. 흔한 경우가 원인을 알 수 없는 401입니다. 토큰을 붙여 넣으면 상태 표시가 만료되었는지, 아직 유효해지지 않았는지, 아니면 유효 기간 안에 있는지를 즉시 알려 줍니다.

로그인 흐름을 구성할 때도 편리해서, issuer, audience, subject가 백엔드가 기대하는 값과 일치하는지 확인하거나, 서버에서 추가한 커스텀 클레임이 실제로 payload에 담겼는지 점검할 수 있습니다.

예시: 세 부분 읽기

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.SflKx... 형태의 토큰이라면, 첫 번째 세그먼트는 {"alg":"HS256","typ":"JWT"} 같은 header로, 두 번째는 {"sub":"1234","iat":1700000000,"exp":1700003600} 같은 payload로 디코딩되고, 세 번째는 불투명한 signature로 남습니다. 디코더는 숫자 값 iat와 exp를 로컬 시간의 날짜로 변환하고, 토큰이 아직 유효하면 만료까지 남은 시간도 보여 줍니다.

참고 사항과 엣지 케이스

디코딩은 검증이 아닙니다. 이 도구는 signature를 비밀 키나 공개 키와 대조하지 않으므로, 디코딩된 토큰은 그것이 무엇을 주장하는지만 보여 줄 뿐 그 주장이 신뢰할 만한지는 보장하지 않습니다. 토큰을 근거로 무언가를 처리하기 전에는 반드시 서버 측에서 적절한 라이브러리로 signature를 검증하세요. payload는 단지 Base64URL로 인코딩되어 있을 뿐이므로, 그 내용은 토큰을 가진 사람이라면 누구나 읽을 수 있는 것으로 취급해야 합니다. 암호화된 것이 아닙니다. 같은 이유로 본인이 관리하지 않는 실제 운영 토큰을 붙여 넣는 일은 피하고, exp와 nbf가 초 단위 Unix 타임스탬프라는 점을 기억하세요. 그래서 exp가 지나는 바로 그 순간 토큰이 만료로 표시됩니다.

자주 묻는 질문

붙여 넣은 JWT는 header, payload, signature, 알고리즘, 만료·발행 시간까지 전부 디코딩되며, 유료 장벽 뒤에 감춰 둔 기능이 없습니다. 토큰 개수 제한도, 프리미엄 등급도, 만들어야 할 계정도 없습니다.
네. 토큰 분할과 Base64URL 디코딩은 사용자의 기기에서 직접 이루어지므로, 토큰도 그 안의 클레임도 어디로도 업로드되지 않습니다. 다만 이 디코더는 토큰을 읽기만 할 뿐 그 진위를 보증하지는 못하므로, 본인이 관리하지 않는 활성 운영 토큰을 붙여 넣는 것은 피하세요.
아니요. 토큰을 붙여 넣거나 샘플을 불러오면 header, payload, signature와 유효성 상태가 곧바로 나타납니다. 회원가입, 이메일 입력, 계정 생성 단계가 없습니다.
아니요. 토큰의 내용을 디코딩해서 보여 주지만 signature를 비밀 키나 공개 키와 대조하지는 않으므로, 그 토큰이 진짜인지는 판별할 수 없습니다. 실제 검증에는 서명 키를 사용하는 서버 측 라이브러리를 이용하세요. 이 도구는 확인과 디버깅을 위한 것입니다.
디코더는 exp(만료)와 nbf(not-before) 클레임을 읽어 현재 시간과 비교합니다. exp가 과거이면 토큰을 만료됨으로, nbf가 미래이면 아직 유효하지 않음으로 표시하고, 그 외에는 유효 기간 안에 있습니다. 이들은 초 단위 Unix 타임스탬프이며 표시할 때 사용자의 로컬 시간으로 변환됩니다.
header의 alg와 typ, 포함된 모든 클레임을 담은 payload 전체, 그리고 가공하지 않은 signature 세그먼트를 보여 줍니다. sub(subject), iss(issuer), aud(audience), jti(JWT ID) 같은 등록 클레임은 따로 추려 내고, iat와 exp는 토큰 상태와 함께 읽기 쉬운 날짜로 표시됩니다.