최근 사용한 도구가 없습니다
즐겨찾기한 도구가 없습니다

JWT 디코더 무료 온라인: JWT 토큰 검사 즉시

123 회 사용

JWT 팁

Header와 payload 디코딩
JWT를 붙여넣으면 header(알고리즘)와 payload(데이터)가 읽을 수 있는 JSON으로 자동 디코딩.
서명 검증 없음
내용을 디코딩하지만 서명은 검증하지 않습니다. 검사용이지 유효성 확인용이 아닙니다.
만료 확인
payload에 exp(만료), iat(발급), nbf(사용 시작) 포함. 토큰 만료 여부 확인.

자주 묻는 질문

Q 디코딩 후 페이로드를 변경해도 JWT가 유효한가요?
A 페이로드를 변경하면 서명이 깨집니다. 서명은 인코딩된 헤더와 페이로드를 비밀 키와 결합한 암호화 해시입니다. 페이로드에서 한 글자만 바꿔도 서명이 일치하지 않습니다. 이것이 JWT의 핵심입니다 — 변조 감지입니다. 밀랍 인장으로 봉인된 봉투를 상상해보세요. 이 도구는 내용을 보여주지만, 변경하면 토큰이 완전히 무효화됩니다.
Q JWT에서 'iat'가 미래 날짜로 표시되는 이유는 무엇인가요?
A 'iat'(발행 시간) 클레임은 초 단위의 Unix 타임스탬프입니다. 시스템 시계가 몇 분 이상 어긋나 있으면 미래 날짜가 표시됩니다. 대부분의 서버는 30~60초의 오차를 허용합니다. 먼저 기기의 시간 동기화를 확인하세요 — 이것이 일반적인 원인입니다. 이 도구는 타임스탬프를 사람이 읽을 수 있는 날짜로 변환하여 불일치를 즉시 찾아냅니다.
Q 이 JWT 디코더는 특수 문자나 비정상적인 구조를 가진 토큰 형식에서도 작동하나요?
A 표준 JWT는 안정적으로 처리합니다. 하지만 점이 누락되었거나, Base64 패딩이 잘못되었거나, 불필요한 문자가 포함된 토큰은 명확한 파싱 오류를 표시합니다 — 정확히 어디서 문제가 생겼는지 알 수 있습니다. 예를 들어 페이로드에 '='가 하나 더 있으면 도구가 그 불일치를 강조합니다. 타사 API의 손상된 토큰을 디버깅할 때 유용합니다. 오경보를 피하려면 올바르게 인코딩된 토큰으로 먼저 테스트하세요.
Q JWT를 가로채면 세션을 도난당할 수 있나요?
A 네, 확실히 가능합니다. JWT는 디지털 열쇠와 같아서, 누구든지 토큰을 가지면 사용자로 위장할 수 있습니다. 절대 운영 환경의 토큰을 아무 웹사이트에 붙여넣지 마세요. 이 도구는 브라우저에서만 처리되므로 토큰이 외부로 유출되지 않습니다. HTTPS를 사용하고, 만료 시간을 15분 이내로 짧게 설정하며, 서버에서 토큰을 폐기하세요. 24시간 유효한 JWT가 유출되면 심각한 보안 위험입니다.
Q JWT의 'nbf'가 미래 시간으로 표시되는 이유는 무엇인가요?
A 'nbf'(not before) 클레임은 해당 타임스탬프 전까지 토큰이 유효하지 않음을 의미합니다. 시스템 간 시계 차이로 인해 서버가 조기 사용을 거부하는 경우가 많습니다. 발급자의 시스템 시간이 NTP로 동기화되었는지 확인하세요. 이 도구는 Unix 타임스탬프를 로컬 시간대로 변환해 줍니다. 'nbf'가 30초 앞서 있다면 테스트 전에 잠시 기다리세요.
Q 콘솔에 실수로 로그를 남기지 않고 JWT를 디코딩하려면?
A 텍스트 영역에 토큰을 붙여넣고 '디코딩' 버튼을 누르면 오른쪽 패널에 결과가 표시되며 브라우저 콘솔에는 절대 출력되지 않습니다. 네트워크 요청도 발생하지 않아 DevTools의 네트워크 탭에도 나타나지 않습니다. 주의할 점: URL 주소 표시줄에서 토큰을 복사할 경우 전체 문자열을 가져와야 합니다. 일부 URL은 쿼리 매개변수로 서명이 잘릴 수 있습니다. 공용 컴퓨터를 사용한다면 이후 클립보드도 비우는 게 좋습니다.
Q JWT 서명이 일치하지 않으면 어떻게 되나요?
A 결과 패널 상단에 명확한 경고 배너가 표시되고, 서명 섹션에는 빨간색 불일치 표시가 나타납니다. 헤더와 페이로드는 계속 디코딩되지만, 해당 클레임은 신뢰하면 안 됩니다. API 응답을 테스트하다 이 상태를 발견하면, 토큰이 전송 중 변경되었거나 다른 비밀 키로 서명된 것입니다. 이 도구는 서명을 암호학적으로 검증하지 않으므로, 불일치 이유를 추측하지 않습니다. 서명 키와 붙여넣은 토큰 문자열을 확인하세요. 여분의 공백이나 누락된 문자가 일반적인 원인입니다.
Q 겉보기에 똑같은 두 JWT가 다른 claims로 디코딩되는 이유는?
A 실제로는 다를 가능성이 큽니다. 끝에 공백이 하나 있거나 Base64URL 패딩이 조금 다르면 결과가 달라집니다. 서명 부분의 한 글자 차이만으로도 디코딩 출력이 바뀝니다. 다만 헤더와 페이로드는 독립적으로 디코딩되므로, 그 둘이 같다면 claims도 동일해야 합니다. 하지만 서로 다른 로그인 이벤트에서 온 토큰이라면 'iat'과 'jti'는 거의 항상 다릅니다. 저희 도구는 디코딩된 각 섹션 아래에 문자 수를 표시해서 차이를 바로 발견할 수 있게 해줍니다. 서버를 의심하기 전에 원본 문자열부터 비교해보세요.
Q 디코딩된 토큰에서 만료 시간은 어디서 확인할 수 있나요?
A 토큰을 붙여넣은 뒤 페이로드 영역에서 'exp' 클레임을 찾으세요. 이 유닉스 타임스탬프는 세션이 끝나는 정확한 초(예: 1715000000)를 나타냅니다. 우리 도구는 이 숫자를 로컬 시간으로 자동 변환해 주므로 직접 계산할 필요가 없습니다. 이 시간이 지났다면 API 호출 시 401 에러가 발생합니다. 로그인 문제가 생겼을 때 이 항목을 가장 먼저 확인해 보세요.
Q 이 도구가 인증 토큰을 탈취하거나 저장할 수 있나요?
A 여기에 토큰을 붙여넣어도 브라우저 외부로 절대 유출되지 않습니다. 디코더는 자바스크립트를 이용해 완전히 클라이언트 측에서만 실행되므로 외부 서버로 전송되는 데이터가 전혀 없습니다. 디코딩하는 동안 브라우저 개발자 도구의 네트워크 탭을 확인해보시면 직접 증명할 수 있습니다. 운영 환경의 민감한 토큰을 다루는 백엔드 개발자들도 안심하고 테스트하세요.

JWT 디코딩 방법

관련 도구