JWT 디코더 · 인코더
JWT 토큰을 붙여넣어 헤더와 페이로드를 확인하고, HS256·RS256·ES256·PS256 등 표준 알고리즘으로 서명을 검증합니다. 우측 패널을 편집하면 좌측 토큰이 즉시 재계산됩니다.
인코딩된 토큰
키 미입력
Header
Payload
Claims
토큰과 키는 브라우저 내에서만 처리됩니다. 서버로 전송되지 않습니다.
이런 분께 추천합니다
- API 호출 디버깅 중 Authorization 헤더의 토큰을 빠르게 확인할 때
- 발급한 JWT 의 만료 시각·발급자·대상을 사람이 읽기 좋게 보고 싶을 때
- 비대칭 키(RS256/ES256)로 서명된 토큰의 검증 여부를 점검할 때
사용 방법
- 좌측에 JWT 토큰을 붙여넣으면 우측의 Header / Payload 가 즉시 파싱되어 표시됩니다.
- 알고리즘을 선택하고, HMAC 의 경우 시크릿을, 비대칭의 경우 공개 키(PEM)를 입력하면 서명을 검증합니다.
- 우측의 Header 또는 Payload 를 직접 편집하면 좌측 토큰이 재계산됩니다. 비대칭 알고리즘은 개인 키(PEM)가 필요합니다.
주의할 점
none알고리즘은 검증을 수행하지 않으므로 운영 환경에서는 절대 사용하지 마세요.- 키는 절대 외부로 전송되지 않습니다. 그래도 운영 환경의 개인 키는 별도 보관소(KMS/Vault)에서만 사용하시기 바랍니다.
- HMAC 시크릿이 너무 짧으면 안전하지 않습니다. HS256 은 최소 32바이트(256비트)를 권장합니다.
자주 묻는 질문
붙여넣은 토큰이나 시크릿이 서버로 전송되나요?
전송되지 않습니다. 디코딩과 서명 검증 모두 브라우저의 Web Crypto API 로 처리합니다. 다만 운영 환경의 개인 키는 KMS·Vault 같은 별도 보관소에서만 다루기를 권합니다.
어떤 서명 알고리즘을 지원하나요?
HS256·HS384·HS512, RS256·RS384·RS512, PS256·PS384·PS512, ES256·ES384·ES512 를 지원합니다. alg 가 none 인 토큰은 디코딩만 하고 검증하지 않습니다.
서명 검증이 실패하는 흔한 원인은 무엇인가요?
헤더의 alg 와 선택한 알고리즘이 다른 경우, PEM 의 BEGIN/END 줄이 빠진 경우, HMAC 시크릿을 base64 문자열로 잘못 넣은 경우가 대부분입니다.
'만료됨' 배지는 어떤 기준인가요?
페이로드의 exp 값을 브라우저의 현재 시각과 비교합니다. 기기 시계가 틀어져 있으면 판정도 함께 틀어집니다.