Перейти к основному содержимому
LibraTool logoLibraTool

Декодировщик JWT — бесплатно

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

Работает офлайн после загрузки

🔒 Токен декодируется полностью в браузере. Ничего не отправляется на сервер.

Частые применения

  • Отладка проблем аутентификации с помощью JWT DecoderПроверьте JWT из вашего приложения, чтобы отладить ошибки входа, проблемы с разрешением и проблемы истечения маркера.
  • Проверьте токены API при тестировании конечных точекДекодируйте JWT, возвращаемые вашим API, чтобы убедиться, что правильные утверждения, области и разрешения выдаются.
  • Аудит безопасности токенов JWTПроверьте JWT как часть аудита безопасности, проверьте слабые алгоритмы подписания, чрезмерное время жизни маркера или чувствительные данные в полезной нагрузке.
  • Проверьте токены OAuth и OpenID ConnectДекодируйте токены доступа, токены ID и маркеры обновления от Google, Auth0, Okta, Microsoft и других поставщиков OAuth.
  • Узнайте, как работают токены JWTДекодируйте примеры JWT, чтобы понять структуру: заголовок, полезная нагрузка и подпись. Посмотрите примеры утверждений из реального мира.

Как это работает

Декодер — это написанный вручную парсер без зависимостей, который работает полностью в вашем браузере: он разделяет токен по точкам, конвертирует каждый сегмент Base64URL в обычный Base64 с помощью замены строк и дополняет его до кратного четырём, затем вызывает нативные atob() и JSON.parse браузера, чтобы восстановить объекты заголовка и полезной нагрузки. Опциональная проверка подписи использует API Web Crypto (crypto.subtle.verify) — без библиотеки, без сервера.

  1. 1
    Декодирование Base64URL
    Инструмент разделяет JWT по двум его разделителям-точкам, получая три сегмента. Каждый сегмент — Base64URL, который использует - и _ вместо + и / и опускает заполнение. Код меняет эти символы обратно и дополняет знаками =, затем вызывает встроенный atob() браузера для декодирования байтов.
  2. 2
    Разбор JSON и извлечение claim'ов
    Декодированные байты пропускаются через JSON.parse для получения объектов заголовка и полезной нагрузки. Зарегистрированные claim'ы exp, iat и nbf извлекаются как временные метки Unix и конвертируются в объекты Date; статус истечения срока перепроверяется каждые 20 секунд через setInterval, так что токен, который истекает, пока вкладка открыта, автоматически переключается с валидного на истёкший. Относительные временные метки («через 3 дня», «2 часа назад») форматируются с помощью Intl.RelativeTimeFormat с использованием локали вашего браузера.
  3. 3
    Отображение подписи и опциональная проверка
    Необработанная строка подписи Base64URL показывается рядом с заголовком и полезной нагрузкой. Если вы предоставите ключ, инструмент вызывает crypto.subtle.importKey и crypto.subtle.verify для локальной проверки подписи. Он принимает общие секреты HMAC (HS256/384/512), закодированные PEM публичные ключи RSA (RS256/384/512) и публичные ключи ECDSA или объекты JWK/JWKS (ES256/384/512) — определяется полем alg в заголовке.
  4. 4
    Никаких сетевых запросов
    Каждый шаг — декодирование, математика временных меток и криптографическая проверка — работает внутри движка JavaScript браузера. Токен и любой ключевой материал, который вы вводите, никогда не покидают ваше устройство.

JWT часто несёт учётные данные сессии, идентификацию пользователя и области авторизации; этот инструмент декодирует и опционально проверяет их полностью в вашем браузере с использованием atob() и API Web Crypto, так что ни токен, ни любой предоставленный вами ключ никуда не передаются.

Похожие инструменты

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