JWT 도구 — 디코드·검증·서명

JSON Web Token을 브라우저 안에서 디코드하고, 시크릿이나 PEM 공개키로 HS/RS/ES 서명을 검증하며, 새 HS 토큰을 서명합니다.

도구를 불러오는 중…

JWT 도구 — 디코드·검증·서명디코드·검증·서명 세 가지 모드를 갖춘 올인원 JSON Web Token 도구입니다. 디코드는 토큰의 헤더와 페이로드를 보기 좋게 정렬해 보여주고, 검증은 HMAC 시크릿(HS256/384/512) 또는 PEM 공개키(RS256/384/512, ES256/384/512)로 서명을 확인하며, 서명은 입력한 헤더·페이로드·시크릿으로 새 HS 서명 토큰을 만듭니다. 모든 작업은 브라우저 내장 Web Crypto API로 전적으로 클라이언트에서 실행되어 토큰·시크릿·키가 기기를 벗어나지 않습니다.

JWT 도구 — 디코드·검증·서명란?

JWT 도구는 디코더, 서명 검증기, HS 서명기를 한곳에 모은 무료 올인원 JSON Web Token 유틸리티입니다. 디코드 모드는 header.payload.signature 토큰을 base64url로 디코딩해 헤더와 페이로드를 정렬된 JSON으로 표시합니다. 검증 모드는 토큰 헤더에서 alg를 읽어 Web Crypto API로 서명을 확인합니다. HS256·HS384·HS512는 HMAC 공유 시크릿을, RS256/RS384/RS512(RSASSA-PKCS1-v1_5)와 ES256/ES384/ES512(ECDSA)는 PEM 형식 공개키를 사용합니다. 서명 모드는 헤더 JSON, 페이로드 JSON, 선택한 HS 알고리즘, 시크릿으로 새 토큰을 만들어 HMAC 서명합니다. 인증, OAuth/OIDC 세션, 토큰 만료를 디버깅하는 백엔드·프론트엔드 엔지니어, QA 테스터, API 연동 담당자를 위해 만들어졌으며, 시크릿을 원격 서비스에 붙여 넣을 필요가 없습니다.

JWT 도구 — 디코드·검증·서명 사용법

  1. 상단에서 모드를 고릅니다: 디코드, 검증, 서명.
  2. 디코드: JWT(header.payload.signature)를 토큰 칸에 붙여넣으면 아래에 정렬된 헤더와 페이로드가 표시됩니다 — 여기서는 서명을 검증하지 않습니다.
  3. 검증: 토큰을 붙여넣은 뒤 HMAC 시크릿(HS 알고리즘) 또는 PEM 공개키(RS/ES)를 키 칸에 붙여넣습니다. 도구가 헤더에서 alg를 읽어 초록색 '유효' 또는 빨간색 '무효'를 보여줍니다.
  4. 서명: 헤더 JSON과 페이로드 JSON을 입력하고 HS256·HS384·HS512 중 하나를 고른 뒤 시크릿을 입력하면 나타나는 서명된 토큰을 복사합니다.
  5. 어느 출력에서나 복사 버튼을 쓰거나, 지우기로 디코드 입력을 초기화합니다.

예시

토큰 디코드하기

입력

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0In0.sig

출력

Header:
{
  "alg": "HS256",
  "typ": "JWT"
}
Payload:
{
  "sub": "1234"
}

HS256 토큰 검증하기

입력

token: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIn0.<sig>
secret: your-256-bit-secret

출력

valid (HS256)

새 HS256 토큰 서명하기

입력

header: {}
payload: { "sub": "1234567890", "name": "Jane Doe" }
secret: your-256-bit-secret

출력

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIn0.<signature>

자주 묻는 질문

제 토큰·시크릿·키가 어딘가로 업로드되나요?
아니요. 모든 모드는 HMAC와 서명 검증에 브라우저 내장 Web Crypto API(crypto.subtle)를, base64url과 JSON에 JavaScript를 사용해 전적으로 클라이언트에서 실행됩니다. 토큰도 시크릿도 PEM 키도 어떤 서버로도 전송되지 않으므로 운영 환경의 자격 증명도 안전하게 다룰 수 있습니다.
어떤 알고리즘을 검증할 수 있나요?
검증은 공유 HMAC 시크릿을 쓰는 HS256·HS384·HS512와, PEM 형식 공개키를 쓰는 RS256/RS384/RS512(RSASSA-PKCS1-v1_5) 및 ES256/ES384/ES512(ECDSA)를 지원합니다. 토큰 헤더의 alg 필드를 자동으로 읽으므로 그에 맞는 시크릿이나 공개키만 넣으면 됩니다.
어떤 알고리즘으로 서명할 수 있나요?
서명 모드는 헤더 JSON, 페이로드 JSON, 시크릿으로 HMAC 서명 토큰(HS256·HS384·HS512)만 만듭니다. RSA와 ECDSA 서명은 개인키가 필요해 이 도구의 범위 밖이며, RS/ES는 검증 모드에서 해당 공개키로 검증할 수 있습니다.
디코드 모드는 서명을 확인하나요?
아니요. 디코드는 헤더와 페이로드를 base64url로 디코딩해 보기 좋게 표시할 뿐 서명은 절대 검증하지 않습니다. 토큰의 진위를 확인하려면 검증 모드로 전환해 시크릿이나 공개키를 넣으세요. 서명이 검증되기 전에는 디코딩된 페이로드를 신뢰하지 마세요.
검증에서 무효나 오류가 나오는 이유는 무엇인가요?
'무효'는 서명이 입력한 시크릿이나 키와 일치하지 않는다는 뜻입니다. 반면 '오류'는 입력을 처리할 수 없었다는 뜻으로, 예를 들어 토큰에 서명 세그먼트가 없거나, alg가 지원되지 않거나, PEM 공개키를 해석하지 못한 경우입니다. 전체 토큰과 알고리즘에 맞는 올바른 키를 붙여넣었는지 확인하세요.

관련 도구