JWT 디코더·서명 검증
로그인 오류를 살필 때 토큰의 만료 시각(exp)과 대상(aud)부터 확인해 보세요. 실제 운영 토큰은 다른 사이트에 붙여넣지 않는 게 좋아요 — 이 도구는 기기 안에서만 풀어요.
서명 검증
JWT 토큰 안을 들여다보기
JWT(JSON Web Token)는 로그인한 사용자 정보를 담아 서버와 앱이 주고받는 토큰이에요. xxxxx.yyyyy.zzzzz처럼 점으로 나뉜 세 부분이 각각 헤더(서명 방식), 내용(사용자·권한·만료 시각 같은 ‘클레임’), 서명이에요. 헤더와 내용은 Base64URL로 바꿨을 뿐 암호화된 게 아니라서 누구나 읽을 수 있어요. 그래서 토큰에 비밀번호나 주민등록번호 같은 민감한 정보를 넣으면 안 돼요.
풀기와 시간 확인
토큰을 붙여넣으면(앞의 ‘Bearer ’는 알아서 빼요) 헤더와 내용을 보기 좋은 JSON으로 보여 주고, 표에 각 항목의 뜻을 적어 줘요. exp(만료), iat(발급), nbf(사용 시작)는 1970년부터 센 초(유닉스 시간)라서 한국 시간과 ‘몇 분 뒤/전’으로 바꿔 보여 주고, 이미 만료됐으면 빨간 글씨로 알려 줘요. 로그인이 자꾸 풀리거나 401 오류가 날 때 가장 먼저 볼 곳이에요.
서명 검증
서명은 토큰이 위조되지 않았다는 증거예요. HS256·HS384·HS512는 서버와 같은 비밀 키(HMAC)로 확인하고, 키가 Base64로 주어졌다면 ‘키 형식’을 바꾸세요. RS256·PS256·ES256 같은 방식은 발급한 곳의 공개 키로 확인하는데, ‘BEGIN PUBLIC KEY’ PEM, ‘BEGIN CERTIFICATE’ 인증서, JWK나 JWKS(키 묶음, kid로 골라요)를 넣을 수 있어요. 공개 키 검증은 브라우저의 Web Crypto 기능을 써요. 결과는 파이썬 PyJWT로 만든 토큰으로 검증했어요.
‘HS256 토큰 만들기’ 탭은 개발·시험용 토큰을 만들어요. 발급 시각과 만료 시각을 자동으로 넣을 수 있어요. 실제 서비스의 비밀 키는 이런 도구에 넣지 말고 시험용 키를 쓰세요. 서명이 맞아도 서버는 만료·대상(aud)·발급자(iss)까지 함께 확인해야 안전해요.
참고한 자료
자주 묻는 질문
토큰을 여기에 붙여넣어도 안전한가요?
토큰은 이 브라우저 안에서만 풀고 어디에도 보내지 않아요. 그래도 아직 유효한 운영 토큰은 화면 공유·캡처를 조심하세요.
‘서명이 달라요’가 나와요.
키가 다르거나 키 형식(글자/Base64)이 다른 경우가 가장 많아요. 토큰 끝이 잘려 복사됐는지도 확인하세요.
암호화된 JWT(JWE)도 풀 수 있나요?
점이 4개인 JWE는 내용이 암호화돼 있어 헤더만 보여 줘요. 내용을 보려면 받는 쪽의 개인 키가 필요해요.
함께 쓰면 좋은 도구
- HMAC 생성기 (HMAC-SHA256 서명 만들기·검증)비밀 키와 메시지로 HMAC-SHA256·SHA-512·SHA-1·MD5 서명을 만들고, 받은 서명과 같은지 확인
- Base64 인코딩·디코딩 (글자·파일 ↔ Base64)글자(한글 UTF-8)를 Base64로, Base64를 글자로, 파일·이미지를 data URI로, Base64를 파일로 저장
- JSON 정리 (보기 좋게 들여쓰기·검증·압축)JSON을 보기 좋게 들여쓰기, 오류 위치 표시, 한 줄 압축, 키 정렬, 문자열 이스케이프
- 유닉스 시간 변환 (타임스탬프 ↔ 한국 시간 날짜)1700000000 같은 타임스탬프를 한국 시간·UTC 날짜로, 날짜를 타임스탬프로. 초·밀리초·마이크로초 자동 인식, 여러 줄 한꺼번에
- 정규식 테스트 (정규표현식 매칭 확인)패턴과 플래그로 일치하는 부분을 강조 표시, 그룹 값 표, 바꾸기 미리보기, 자주 쓰는 패턴
- 색상 코드 변환 (HEX·RGB·HSL·CMYK)HEX·RGB·HSL·HSV·CMYK를 서로 바꾸고, 글자 대비(WCAG) 검사, 밝게·어둡게 단계 표