JWT 디코더

JWT의 헤더와 페이로드를 JSON으로 읽어보세요. 토큰을 다른 서버로 보내지 않고 브라우저 안에서 디코딩합니다.

브라우저에서 JWT 헤더와 페이로드를 읽습니다. 디코딩은 서명을 검증하거나 토큰의 유효성을 보증하지 않습니다.

입력값은 이 페이지에만 유지됩니다PUFFINMINT

데이터 설정

데이터 설정

점으로 구분된 세 부분의 JWT를 입력하고 헤더와 페이로드를 확인하세요. 디코딩만으로 서명·발급자·접근 권한의 유효성이 확인되지는 않습니다. 암호화된 JWE는 지원하지 않습니다.

결과

값을 입력하고 실행하면 여기에 결과가 표시됩니다.

입력값은 이 페이지에만 유지하며 새로고침하거나 닫으면 사라집니다.

입력값과 파일 내용은 포함하지 않고 어떤 도구를 자주 사용하는지 집계합니다. 개인정보

JWT 디코더를 사용하는 상황

애플리케이션과 연동 기능을 디버깅하면서 토큰에 어떤 필드가 있는지 확인할 때 유용합니다. 서명된 JWT도 페이로드를 읽을 수 있습니다. base64url 인코딩은 암호화와 다릅니다.

토큰 디코딩 순서

  1. Bearer 접두사를 제외한 토큰 자체만 붙여 넣습니다.
  2. 디코딩을 실행하여 두 JSON 객체를 읽습니다.
  3. 클레임을 애플리케이션의 예상값과 비교합니다. exp를 날짜로 보려면 타임스탬프 변환기에서 초를 선택하세요.

헤더와 페이로드를 읽는 방식

점으로 구분된 세 부분이 필요합니다. 헤더와 페이로드를 base64url에서 UTF-8로 변환하고 JSON 객체인지 확인한 뒤 정리합니다. 세 번째 부분은 검증하지 않으며 빈 서명도 구문상 허용될 수 있습니다.

검증되지 않은 클레임 해석하기

결과에는 header와 payload가 포함됩니다. 필드 값은 토큰이 주장하는 정보이며 변조되었을 수 있습니다. exp 날짜를 읽을 수 있어도 진위나 접근 권한이 확인된 것은 아닙니다.

페이로드에 선언된 클레임
필드일반적인 의미
sub주체 식별자
expUnix 초 단위로 선언한 만료 시각
iss / aud예상 발급자와 대상

예제: 학습용 토큰 읽기

형식 이해를 위한 서명 없는 토큰

입력값
eyJhbGciOiJub25lIn0.eyJzdWIiOiJkZW1vIiwiZXhwIjoxNzA0MDY3MjAwfQ.
결과
{"header":{"alg":"none"},"payload":{"sub":"demo","exp":1704067200}}

예제는 alg=none과 빈 서명을 사용합니다. sub=demo와 exp=1704067200을 표시하며 후자는 UTC 기준 2024년 1월 1일 00:00입니다. 디코더는 값을 보여 줄 뿐 만료 여부를 판단하지 않습니다.

수행하지 않는 검증과 제한

최대 16,000자입니다. 암호화된 다섯 부분 JWE와 JSON 객체가 아닌 페이로드는 지원하지 않습니다. 값은 새로고침 전까지 페이지에 남으며 변환 서비스로 전송하지 않습니다. 클레임의 HTML은 텍스트로 표시하고 실행하지 않습니다.

출처 및 참고 자료

자주 묻는 질문

읽을 수 있으면 접근을 허용해도 되나요?

아니요. 애플리케이션에서 프로토콜에 따라 서명, 허용 알고리즘, 발급자, 대상 및 시간 조건을 검증해야 합니다. 이 디코더는 해당 검증을 하지 않습니다.

암호화된 토큰은 왜 열리지 않나요?

JWE는 알맞은 키로 복호화해야 합니다. 이 도구는 세 부분으로 된 압축 형식만 읽으며 복호화하지 않습니다.

즐겨찾기