도구상자FREE ONLINE TOOLS
← 모든 도구

JWT 디코더

JWT 토큰을 붙여넣으면 헤더와 페이로드를 즉시 파싱합니다.

사용법
  1. JWT 토큰(header.payload.signature 형식)을 입력창에 붙여넣습니다.
  2. "디코딩" 버튼을 클릭하면 헤더와 페이로드가 보기 좋은 JSON 형태로 표시됩니다.
  3. iss(발급자), exp(만료 시각), sub(주체), role(권한) 등 주요 클레임 값을 확인합니다.
  4. 필요한 부분을 복사 버튼으로 클립보드에 저장합니다.
JWT는 어떻게 생겼을까

JWT(JSON Web Token)는 점(.)으로 구분된 세 부분으로 이뤄집니다: 헤더.페이로드.서명. 앞 두 부분은 Base64URL로 인코딩된 JSON이라 누구나 내용을 볼 수 있고, 세 번째 서명이 위조를 막습니다.

  • 헤더(header): 토큰 종류와 서명 알고리즘(예: HS256).
  • 페이로드(payload): 사용자 ID(sub)·권한(role)·만료(exp) 등 담긴 정보(클레임).
  • 서명(signature): 비밀 키로 만든 검증값. 내용이 바뀌면 서명이 깨집니다.

이 도구는 앞 두 부분을 디코딩해 내용을 보여 줄 뿐, 내용 자체는 암호화돼 있지 않습니다. 자세한 구조는 JWT란? 가이드에 있습니다.

활용 팁
  • 만료 시각(exp) 확인: exp 클레임은 Unix 타임스탬프(초 단위)로 저장됩니다. 디코딩 결과에서 exp 값을 현재 시각과 비교해 토큰이 아직 유효한지 직접 검토할 수 있습니다.
  • API 디버깅: 401 Unauthorized 오류가 발생할 때, 발급된 JWT 페이로드를 디코딩해 권한(role), 사용자 ID, 만료 시각 등을 빠르게 확인해 원인을 파악하세요.
  • 보안 주의: 프로덕션 환경의 실제 사용자 토큰은 입력하지 마세요. 개발·테스트용 더미 토큰이나 만료된 토큰만 이 도구에서 사용하는 것이 안전합니다.
자주 묻는 질문
Q. 서명(signature) 검증도 되나요?

아닙니다. 이 도구는 Base64URL 디코딩만 수행합니다. 서명 검증은 서버 측에서 비밀 키나 공개 키를 사용해야 합니다.

Q. JWT가 아닌 다른 토큰을 입력하면 어떻게 되나요?

header.payload.signature 구조(점 두 개로 구분)가 아니면 오류 메시지가 표시됩니다.

Q. 토큰이 만료됐는지 여기서 알 수 있나요?

디코딩된 payload의 exp 값(만료 시각, Unix 타임스탬프)을 보면 됩니다. 이 도구는 내용만 해석해 보여주므로, 실제 만료 여부는 exp를 현재 시각과 비교하거나 타임스탬프 변환 도구로 확인하세요.

Q. JWT는 암호화된 건가요?

기본 JWT는 암호화가 아니라 '서명'된 것입니다. 페이로드는 Base64로 인코딩만 돼 있어 누구나 디코딩해 볼 수 있으므로, 비밀번호 같은 민감 정보를 담으면 안 됩니다. 서명은 내용 위조를 막을 뿐 내용을 숨기지는 않습니다.

Q. 디코딩한 토큰이 외부로 전송되나요?

아닙니다. 디코딩은 브라우저 안에서만 이뤄지며 입력한 토큰은 서버로 전송되지 않습니다. 다만 안전을 위해 실제 운영 환경의 유효한 사용자 토큰보다 테스트·만료된 토큰을 사용하는 것이 좋습니다.

함께 보면 좋은 가이드