Oh MyUtils

JWT 디코더 - JSON 웹 토큰 디코딩 온라인

JWT 헤더, 페이로드, 서명을 즉시 디코딩하고 검사하세요. 토큰 만료·클레임 검증 — 서버 전송 없음, 100% 클라이언트 처리.

100% 클라이언트 - 토큰이 브라우저를 벗어나지 않습니다
JWT 토큰

자주 묻는 질문

JSON 웹 토큰(JWT)이란 무엇인가요?

JWT(JSON 웹 토큰)는 당사자 간에 JSON 객체로 정보를 안전하게 전송하기 위한 개방형 표준(RFC 7519)입니다. 점으로 구분된 세 부분으로 구성됩니다: 헤더(알고리즘 및 토큰 유형), 페이로드(클레임/데이터), 서명(검증용). JWT는 웹 애플리케이션에서 인증 및 권한 부여에 일반적으로 사용됩니다.

JWT 디코더를 어떻게 사용하나요?

입력 필드에 JWT 토큰을 붙여넣기만 하면 됩니다. 도구가 자동으로 디코딩하여 헤더, 페이로드, 서명을 별도의 탭에 표시합니다. 각 탭을 클릭하여 디코딩된 JSON 내용을 볼 수 있습니다. 서명을 검증하려면 검증 섹션에서 비밀 키(HMAC용) 또는 공개 키(RSA용)를 입력하세요.

여기서 JWT를 디코딩하는 것이 안전한가요?

네, 이 도구는 100% 클라이언트 측에서 작동합니다. JWT 토큰은 브라우저를 떠나지 않습니다 - 모든 디코딩과 검증은 JavaScript를 사용하여 로컬에서 이루어집니다. 어떤 데이터도 서버로 전송되지 않습니다. 하지만 페이로드는 암호화되지 않고 Base64로만 인코딩되므로 민감한 정보가 포함된 JWT를 공개적으로 공유해서는 안 됩니다.

JWT 클레임이란 무엇인가요?

클레임은 엔티티(일반적으로 사용자)와 추가 데이터에 대한 설명입니다. 표준 클레임에는 exp(만료 시간), iat(발급 시간), nbf(유효 시작 시간), sub(주체), iss(발급자), aud(대상), jti(JWT ID)가 있습니다. 사용자 역할이나 권한과 같은 애플리케이션별 데이터를 위해 사용자 정의 클레임도 추가할 수 있습니다.

서명 검증은 어떻게 작동하나요?

JWT 서명은 토큰이 변조되지 않았음을 보장합니다. HMAC 알고리즘(HS256, HS384, HS512)의 경우 당사자 간에 공유되는 비밀 키를 사용하여 서명이 생성됩니다. RSA 알고리즘(RS256, RS384, RS512)의 경우 비대칭 키 쌍이 사용됩니다 - 서명에는 개인 키, 검증에는 공개 키. 이 도구는 안전한 검증을 위해 Web Crypto API를 사용합니다.

코드 예제

// Decode JWT (without verification)
function decodeJWT(token) {
  const [headerB64, payloadB64] = token.split('.');
  
  const decodeBase64Url = (str) => {
    const base64 = str.replace(/-/g, '+').replace(/_/g, '/');
    return JSON.parse(atob(base64));
  };
  
  return {
    header: decodeBase64Url(headerB64),
    payload: decodeBase64Url(payloadB64)
  };
}

const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
const { header, payload } = decodeJWT(token);
console.log(payload);

관련 도구