JWT Декодер

Декодируйте и просматривайте данные JSON Web Token без проверки подписи.

Этот инструмент только декодирует JWT — он НЕ проверяет подпись. Никогда не передавайте конфиденциальные токены.

Декодировщик JWT декодирует JSON Web Token'ы (JWT), позволяя проверить заголовок, полезную нагрузку и подпись без написания кода. JWT — компактный, URL-безопасный токен, состоящий из трёх секций в кодировке Base64, разделённых точками: заголовок алгоритма, полезная нагрузка клеймов и криптографическая подпись.

Вставьте любой JWT в поле ввода, и инструмент мгновенно разобьёт его на три компонента и отобразит JSON каждого раздела в удобном виде. Вы можете увидеть время истечения, временную метку выдачи и пользовательские клеймы токена.

Этот инструмент только декодирует — он не проверяет подпись. Всегда проверяйте JWT на стороне сервера с помощью соответствующего секрета или публичного ключа, прежде чем доверять клеймам. Никакие данные токена не покидают ваш браузер.

Часто задаваемые вопросы

Реализация кода

import jwt  # pip install PyJWT

token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFsaWNlIiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjE3MDAwMDM2MDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
secret = "your-256-bit-secret"

# Decode and verify signature + expiry
try:
    payload = jwt.decode(token, secret, algorithms=["HS256"])
    print(payload)
    # {"sub": "1234567890", "name": "Alice", "iat": 1700000000, "exp": 1700003600}
except jwt.ExpiredSignatureError:
    print("Token has expired")
except jwt.InvalidTokenError as e:
    print(f"Invalid token: {e}")

# Decode without verification (inspect only — never trust unverified)
unverified = jwt.decode(token, options={"verify_signature": False})
print(unverified)

# Decode manually (no library) — Base64Url decode the payload
import base64, json
parts = token.split(".")
# Add padding back (Base64Url omits =)
payload_b64 = parts[1] + "=" * (-len(parts[1]) % 4)
payload = json.loads(base64.urlsafe_b64decode(payload_b64))
print(payload)

# Encode (create) a JWT
encoded = jwt.encode({"sub": "123", "name": "Alice"}, secret, algorithm="HS256")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.