JWT 디코더
JWT 토큰의 헤더·페이로드를 브라우저에서 안전하게 디코딩합니다. 토큰은 서버로 전송되지 않습니다.
브라우저에서 로컬 처리 · 서버 업로드 없음header.payload.signature 형태의 점(.)으로 구분된 토큰을 붙여넣으세요.
헤더 (Header)
페이로드 (Payload)
시간 클레임 (한국 시간 · KST)
서명 (Signature)
서명은 표시만 하며 검증하지 않습니다. 유효성 확인은 발급 서버의 키로만 가능합니다.
JWT 디코더 소개
JWT 디코더는 점으로 나뉜 토큰을 헤더와 페이로드로 풀어 보여 주고, 시간 관련 값은 한국 시간으로 바꿔 표시합니다. 로그인이 자꾸 풀리는 원인을 찾거나 백엔드가 실어 보낸 권한 값이 실제로 무엇인지 확인할 때 씁니다.
JWT는 헤더.페이로드.서명 세 조각으로 이루어지고, 앞의 두 조각은 Base64URL로 인코딩되어 있을 뿐 암호화된 것이 아닙니다. 토큰을 손에 넣은 사람은 누구나 내용을 읽을 수 있다는 뜻입니다. 이 사실은 자주 오해받는 부분이라 분명히 해 둘 필요가 있습니다. 페이로드에 비밀번호나 주민번호 같은 값을 담으면 그대로 노출됩니다. JWT의 안전성은 내용을 감추는 데서 오는 것이 아니라, 서명 덕분에 내용을 고치면 들킨다는 데서 옵니다. 시간 값도 규칙이 있습니다. iat는 발급 시각, exp는 만료 시각, nbf는 이 시각 전에는 쓸 수 없다는 뜻이며 모두 Unix 타임스탬프(초)입니다.
이 도구는 서명을 검증하지 않습니다. 검증에는 발급 서버의 비밀키나 공개키가 필요하고, 그 작업은 반드시 서버에서 이루어져야 합니다. 브라우저에서 서명을 확인했다고 해서 보안이 되는 것이 아닙니다. 한 가지 더, 디코딩이 기기 안에서만 이루어진다 해도 운영 중인 실제 토큰을 아무 웹 도구에나 붙여넣는 습관은 권하지 않습니다. 토큰은 그 자체로 로그인 자격이라서, 화면 공유 중이거나 클립보드가 동기화되는 환경에서는 그대로 새어 나갈 수 있습니다. 확인이 필요하면 만료된 토큰이나 개발 환경 토큰을 쓰세요.
사용 방법
- 디코딩할 JWT 토큰을 위 입력창에 붙여넣으세요.
xxxxx.yyyyy.zzzzz형태의 세 부분으로 이루어진 문자열입니다. - 입력하면 즉시 헤더(Header)와 페이로드(Payload)가 보기 좋은 JSON으로 디코딩됩니다.
exp·iat·nbf같은 시간 클레임은 한국 시간(KST)으로 자동 변환되어 표시됩니다.- 필요한 값을 확인한 뒤 각 영역의 복사 버튼으로 결과를 가져가세요.
자주 묻는 질문
이 도구가 서명(signature)을 검증하나요?
JWT가 암호화되어 있나요? 페이로드를 누구나 볼 수 있나요?
세 번째 조각(서명)은 왜 보여주지 않나요?
exp(만료) 시간은 어떻게 해석하나요?
exp는 토큰 만료 시각을 Unix 타임스탬프(초)로 담고 있습니다. 현재 시각이 이 값을 지나면 토큰은 만료된 것으로 간주되며, 이 도구는 만료 시 경고를 표시합니다. iat는 발급 시각, nbf는 이 시각 이전에는 사용할 수 없음을 뜻합니다.