JWT 디코더

JWT 토큰 안 뭐 들었는지 열어보기. 헤더·페이로드·서명 분해 + 만료 체크.

JWT Token 샘플 토큰 불러오기
혹시 원하시는 툴이 아니신가요? 챗봇 질문하기로 원하시는 툴을 찾아보세요

쓰는 법

  1. Authorization 헤더의 Bearer 뒤 부분이나 로컬스토리지에 저장된 토큰 전체 복사.
  2. 입력창에 붙여넣기. Enter 눌러도 되고 디코딩 버튼 눌러도 돼요.
  3. 헤더(알고리즘, 타입), 페이로드(사용자 ID, 역할, 만료), 서명이 각각 분리돼서 표시됩니다.
  4. 만료 시간(exp)은 자동으로 사람이 읽을 수 있는 날짜로 변환되고, 만료됐으면 빨간색으로 표시.
  5. 각 섹션 복사 버튼으로 필요한 부분만 가져갈 수 있어요.

JWT는 원래 암호화가 아니라 '서명된 JSON'

JWT(JSON Web Token)는 점으로 구분된 세 덩어리(xxx.yyy.zzz)로 돼 있어요. 앞 두 덩어리는 단순히 Base64URL로 인코딩된 JSON이라서 누구든 열어보면 안에 뭐 들었는지 보여요. 세 번째 덩어리는 서명이고요.

그래서 '이 토큰이 진짜 맞나?' 검증은 서버에서 비밀 키로 하는 거고, '이 토큰 안에 누구 정보가 들었지?'는 여기서 바로 확인할 수 있어요. 디버깅할 때 자주 쓰시게 될 거예요.

여기 편한 점

  • 붙여넣자마자 0.5초 안에 디코딩됩니다.
  • JSON이 색상 강조돼서 클레임 구조 파악이 빨라요.
  • exp(만료), iat(발행 시간) 클레임은 Unix 타임스탬프에서 사람 읽기 좋은 날짜로 자동 변환. '아직 유효함'인지 '30분 전 만료'인지 바로 보여요.
  • 토큰은 브라우저 밖으로 안 나가요. 서버 요청, 로깅, 저장 전부 없음.
  • 헤더/페이로드/서명 각각 따로 복사 가능.
  • 토큰 형식이 잘못됐으면 어디가 이상한지 명확한 에러 메시지로 알려줘요.
  • 샘플 JWT 로드 버튼도 있어서 포맷 배우기 좋아요.

다른 JWT 디코더랑 비교

항목FreeToolboxjwt.iotoken.dev
동작 위치브라우저브라우저브라우저
외부 스크립트없음라이브러리 로드라이브러리 로드
만료 자동 체크있음수동있음
섹션별 복사있음없음없음
광고거의 없음있음있음

자주 묻는 질문

JWT가 정확히 뭐예요?

점으로 나뉜 세 덩어리(헤더.페이로드.서명)로 된 토큰 형식이에요. 로그인 상태, 사용자 ID, 권한 같은 정보를 서버와 클라이언트 사이에서 주고받을 때 씁니다. 서명 덕분에 변조되면 서버에서 바로 감지할 수 있어요.

서명 검증도 해주나요?

아니요, 여긴 디코딩만 해요. 서명 검증은 비밀 키(HS256) 또는 공개 키(RS256)가 필요한데, 그걸 브라우저 도구에 넣으면 안 되거든요. 검증은 백엔드에서 jsonwebtoken 같은 라이브러리로 돌리세요.

여기 JWT 붙여넣어도 안전한가요?

이 도구 자체는 브라우저에서 돌아가니까 서버 전송, 저장, 로깅 없어요. 다만 JWT 안에는 사용자 ID나 권한 정보가 들었을 수 있으니까 원칙적으로는 토큰 자체 관리에 주의하시는 게 좋아요.

exp 클레임이 뭐예요?

Expiration Time. 이 토큰을 언제까지 받을지 정한 Unix 타임스탬프(1970-01-01 이후 초)예요. 여기서는 자동으로 2026-04-25 14:30:00 같은 사람 읽기 좋은 형식으로 바꿔주고, 지금 시각이랑 비교해서 만료 여부도 표시합니다.

'유효하지 않은 토큰' 뜨는 이유가 뭐예요?

보통 세 가지예요. (1) 점이 2개가 아닌 경우 → JWT가 아닐 수 있어요. (2) 헤더/페이로드가 Base64URL 형식이 아닌 경우. (3) 디코딩해도 JSON이 아닌 경우. 토큰 복사할 때 앞뒤 공백이나 줄바꿈 섞이진 않았는지 먼저 확인하세요.