개발자 도구
모든 도구

JWT 디코더

JWT의 header와 payload를 디코딩하고, exp·iat 등 시각 클레임을 사람이 읽을 수 있게 변환합니다.

100% 브라우저 처리
⚠ 이 도구는 토큰의 서명을 검증하지 않습니다. 내용 확인용으로만 사용하세요. 디코딩만으로는 토큰의 진위를 보장할 수 없습니다.

JWT(JSON Web Token)는 점(.)으로 구분된 header, payload, signature 세 부분으로 이루어진 인증 토큰입니다. 앞의 두 부분은 Base64URL로 인코딩된 JSON일 뿐이라, 누구나 디코딩해 내용을 볼 수 있습니다. 이 도구는 토큰을 붙여 넣으면 header와 payload를 보기 좋게 펼쳐 주고, exp(만료)·iat(발급)·nbf(유효 시작) 같은 시각 클레임을 한국 시간(KST)으로 변환해 토큰이 현재 유효한지까지 표시합니다.

API를 디버깅하다 보면 '왜 401이 뜨지?'를 추적할 때 토큰의 만료 시각이나 발급 주체(iss), 대상(aud), 사용자 식별자(sub)를 확인해야 하는 경우가 많습니다. 이 도구는 그 정보를 브라우저 안에서만 디코딩하므로, 실제 인증 토큰을 외부 서버로 보내지 않고 안전하게 들여다볼 수 있습니다.

사용 방법

  1. 1

    토큰 붙여넣기

    eyJ로 시작하는 JWT 문자열을 입력란에 붙여 넣습니다.

  2. 2

    디코딩 실행

    '디코딩' 버튼을 누르면 header와 payload의 JSON 내용이 펼쳐집니다.

  3. 3

    클레임 확인

    exp, iat, nbf 같은 시각 값이 KST 날짜로 변환되어 표시되고, 만료 여부 배지로 유효성을 알려 줍니다.

  4. 4

    복사

    header·payload JSON을 복사 버튼으로 가져가 다른 도구에서 추가 분석할 수 있습니다.

활용 팁

  • sub는 사용자 식별자, iss는 발급 주체, aud는 토큰 대상을 의미하는 표준 클레임입니다.
  • 만료(exp)가 지난 토큰은 서버에서 거부됩니다. 401 오류가 날 때 가장 먼저 확인할 값입니다.
  • header의 alg 필드로 서명 알고리즘(HS256, RS256 등)을 확인할 수 있습니다.
  • 이 도구는 서명을 검증하지 않으므로, 토큰이 위조되지 않았는지 판단하려면 서버에서 비밀키로 검증해야 합니다.

자주 묻는 질문

서명도 검증해 주나요?

아니요. 이 도구는 header와 payload를 디코딩해 내용을 보여 줄 뿐, 서명을 검증하지 않습니다. 토큰의 진위 판단은 서버에서 비밀키/공개키로 수행해야 합니다.

토큰이 서버로 전송되나요?

아니요. 디코딩은 브라우저에서만 이루어지며 토큰이 외부로 전송되지 않습니다. 실제 인증 토큰도 안전하게 확인할 수 있습니다.

만료 여부는 어떻게 판단하나요?

payload의 exp(초 단위 타임스탬프)와 현재 시각을 비교해 만료 여부를 표시합니다. 기기 시계가 틀어져 있으면 판단도 달라질 수 있습니다.

왜 디코딩이 실패하나요?

JWT가 아닌 문자열이거나, 복사 과정에서 일부가 잘렸거나, 공백·줄바꿈이 섞인 경우 실패할 수 있습니다. 점(.)으로 구분된 세 부분이 온전한지 확인하세요.

payload를 수정해 새 토큰을 만들 수 있나요?

이 도구는 읽기 전용 디코더입니다. payload를 바꿔도 유효한 서명이 없으면 서버에서 거부되므로 토큰 재발급은 서버에서 해야 합니다.

함께 쓰면 좋은 도구