Декодировщик 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Декодирование Base64URLИнструмент разделяет JWT по двум его разделителям-точкам, получая три сегмента. Каждый сегмент — Base64URL, который использует - и _ вместо + и / и опускает заполнение. Код меняет эти символы обратно и дополняет знаками =, затем вызывает встроенный atob() браузера для декодирования байтов.
- 2Разбор JSON и извлечение claim'овДекодированные байты пропускаются через JSON.parse для получения объектов заголовка и полезной нагрузки. Зарегистрированные claim'ы exp, iat и nbf извлекаются как временные метки Unix и конвертируются в объекты Date; статус истечения срока перепроверяется каждые 20 секунд через setInterval, так что токен, который истекает, пока вкладка открыта, автоматически переключается с валидного на истёкший. Относительные временные метки («через 3 дня», «2 часа назад») форматируются с помощью Intl.RelativeTimeFormat с использованием локали вашего браузера.
- 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Никаких сетевых запросовКаждый шаг — декодирование, математика временных меток и криптографическая проверка — работает внутри движка JavaScript браузера. Токен и любой ключевой материал, который вы вводите, никогда не покидают ваше устройство.
JWT часто несёт учётные данные сессии, идентификацию пользователя и области авторизации; этот инструмент декодирует и опционально проверяет их полностью в вашем браузере с использованием atob() и API Web Crypto, так что ни токен, ни любой предоставленный вами ключ никуда не передаются.
Похожие инструменты
URL-кодер и декодер
Кодируйте и декодируйте URL-адреса и строки запроса. Поддерживает encodeURIComponent, decodeURIComponent и анализ строки запроса.
Инспектор UUID
Декодируйте любой UUID или ULID — узнайте версию, вариант и временную метку, встроенную в v1, v6, v7 и ULID. Работает полностью в браузере.
Кодировщик и декодировщик Base64
Кодируйте текст или файлы в Base64 или декодируйте строки Base64 обратно в обычный текст. Мгновенно, конфиденциально и бесплатно.