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 도구 — 디코드·검증·서명 사용법
- 상단에서 모드를 고릅니다: 디코드, 검증, 서명.
- 디코드: JWT(header.payload.signature)를 토큰 칸에 붙여넣으면 아래에 정렬된 헤더와 페이로드가 표시됩니다 — 여기서는 서명을 검증하지 않습니다.
- 검증: 토큰을 붙여넣은 뒤 HMAC 시크릿(HS 알고리즘) 또는 PEM 공개키(RS/ES)를 키 칸에 붙여넣습니다. 도구가 헤더에서 alg를 읽어 초록색 '유효' 또는 빨간색 '무효'를 보여줍니다.
- 서명: 헤더 JSON과 페이로드 JSON을 입력하고 HS256·HS384·HS512 중 하나를 고른 뒤 시크릿을 입력하면 나타나는 서명된 토큰을 복사합니다.
- 어느 출력에서나 복사 버튼을 쓰거나, 지우기로 디코드 입력을 초기화합니다.
예시
토큰 디코드하기
입력
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 공개키를 해석하지 못한 경우입니다. 전체 토큰과 알고리즘에 맞는 올바른 키를 붙여넣었는지 확인하세요.
관련 도구
AES 텍스트 암호화 (AES-GCM + PBKDF2)
패스프레이즈에서 유도한 키(PBKDF2 SHA-256)로 AES-GCM 암호화·복호화를 수행하며, 모든 처리가 브라우저 안에서 끝나고 업로드가 없습니다.
HMAC 생성기
SHA-1, SHA-256, SHA-384, SHA-512로 메시지와 비밀 키에서 HMAC을 계산하고 16진수 또는 Base64로 출력합니다.
비밀번호 생성기
길이·문자 집합·모호한 문자 제외를 조절해 강력하고 무작위한 비밀번호를 브라우저 안에서 바로 만듭니다.
TOTP 코드 생성기
base32 비밀키를 받아 자릿수와 시간 주기를 골라 실시간 TOTP 2단계 인증 코드를 브라우저에서 만들어 줍니다.