RevealTheme logo

Декодировщик JWT

Мгновенно декодирует JSON Web Tokens (JWT). Работает в вашем браузере: токены никогда не покидают ваше устройство, поэтому им безопасно пользоваться с продакшен-секретами.

Как пользоваться этим инструментом

  1. 1

    Вставьте ваш JWT в поле ввода.

  2. 2

    Нажмите «Декодировать». Header и payload будут разобраны и отображены.

  3. 3

    Изучите алгоритм, claims, срок действия и издателя.

Что такое JWT и как он работает?

JSON Web Token (JWT, описан в RFC 7519) — это компактный и безопасный для URL способ представления набора утверждений (claims) о пользователе, с криптографическим доказательством того, что эти утверждения не были подделаны. JWT обеспечивают аутентификацию в большинстве современных веб-стеков: когда вы входите в систему, сервер создаёт JWT, содержащий ваш идентификатор пользователя и разрешения, подписывает его секретным ключом и возвращает вам. Ваш браузер сохраняет токен (обычно в localStorage или в cookie) и включает его в заголовок Authorization каждого последующего запроса. Сервер проверяет подпись при каждом запросе: если она действительна, утверждениям токена доверяют; если токен был подделан, подпись нарушается и запрос отклоняется. JWT состоят из трёх частей, закодированных в Base64URL и разделённых точками: заголовок объявляет алгоритм подписи (HS256 для HMAC-SHA256, RS256 для RSA, ES256 для ECDSA, none для неподписанных токенов, что опасно и такие токены следует отклонять); полезная нагрузка (payload) содержит сами утверждения (стандартные утверждения, такие как 'sub' для субъекта, 'exp' для срока действия, 'iat' для времени выпуска, а также любые пользовательские утверждения, которые определяет ваше приложение); подпись — это доказательство того, что заголовок и полезная нагрузка были подписаны кем-то, кто владел секретом. Этот декодировщик раскрывает первые две части, которые являются общедоступной информацией; подпись можно проверить только с помощью ключа, поэтому любой декодировщик JWT показывает утверждения без проверки.

Типичные сценарии использования

  • Отлаживайте проблемы аутентификации, декодируя JWT, который отправляет ваш клиент — увидите точно, какие claims присутствуют, кто его выпустил и когда он истекает.

  • Изучайте JWT шлюзов API (AWS Cognito, Auth0, Okta), чтобы понять структуру claims для нижестоящих сервисов.

  • Проверяйте, что пользовательские claims (ID организации, роль, feature-флаги) корректно устанавливаются в коде выпуска токенов.

  • Сравнивайте токены до и после обновления, чтобы убедиться, что срок действия был продлён.

  • Проверяйте алгоритм токена — убедитесь, что в продакшене используется RS256 или ES256, но никогда 'none'.

  • Переводите полезную нагрузку base64url из логов сервера в читаемые claims.

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

Безопасно ли использовать его с продакшен-JWT?
Да. Декодирование происходит полностью в вашем браузере с помощью локального JavaScript: токен никогда не попадает на наши серверы и не появляется ни в каких журналах. Вы можете убедиться в этом, открыв DevTools → вкладку «Сеть» во время декодирования: ни одного исходящего запроса не отправляется. При этом относитесь к JWT как к учётным данным: не вставляйте их в URL, скриншоты или общие документы, независимо от того, где работает декодировщик.
Проверяет ли это подпись?
Нет. Проверка подписи требует секрета (для HS256) или открытого ключа (для RS256/ES256/PS256). Веб-инструменты, которые просят ваш секрет для проверки JWT, — это тревожный сигнал безопасности: вы отправляли бы свой ключ подписи незнакомцу. Проверяйте подписи на сервере или с помощью библиотеки, которую вы контролируете (jose, jsonwebtoken).
Что если мой JWT истёк?
Истечение срока не препятствует декодированию: утверждение 'exp' — это всего лишь данные внутри полезной нагрузки. Найдите 'exp' в декодированной полезной нагрузке: это временная метка Unix (секунды с 1970 года). Преобразуйте её с помощью нашего конвертера временных меток, чтобы увидеть срок действия в вашем часовом поясе. Если 'exp' уже прошёл, токен отклоняется любым проверяющим, соблюдающим стандарт, хотя декодировщик по-прежнему его читает.
Можно ли шифровать JWT?
Да: это называется JWE (JSON Web Encryption, RFC 7516). Этот инструмент работает с JWS (JSON Web Signature, распространённый случай), где полезная нагрузка подписана, но видна. Токены JWE состоят из 5 частей, разделённых точками, вместо 3 и требуют закрытого ключа получателя для расшифровки. Если ваш токен состоит из 5 частей, вам нужен инструмент с поддержкой JWE.
Что означает 'alg': 'none' и опасно ли это?
'none' означает отсутствие подписи: токен не подписан, и любой может подделать любое утверждение. Продакшен-системы должны явно отклонять токены с 'alg: none'. Некоторые библиотеки принимают их по умолчанию (хорошо известный класс CVE). Всегда разрешайте только те алгоритмы, которые ожидает ваше приложение.
Зачем использовать JWT вместо сессионных cookie?
JWT не имеют состояния: серверу не нужно обращаться к сессии; сам токен содержит идентичность и разрешения пользователя. Это делает JWT идеальными для распределённых систем и API. Сессионные cookie имеют состояние (требуют хранилища сессий на сервере), но их проще аннулировать (достаточно удалить сессию). Компромисс: JWT лучше масштабируются, но вы не можете «выйти за пользователя» до тех пор, пока токен не истечёт.
Каковы стандартные утверждения JWT?
RFC 7519 определяет: iss (эмитент), sub (субъект, обычно идентификатор пользователя), aud (аудитория), exp (время истечения), nbf (не ранее), iat (время выпуска), jti (идентификатор JWT). Помимо этих, приложения добавляют пользовательские утверждения, такие как 'roles', 'permissions' или 'tenant_id'. Держите пользовательские утверждения небольшими: JWT передаются в заголовке каждого запроса и увеличивают расход трафика.

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

Форматировщик и валидатор JSON

Форматируйте, проверяйте и минифицируйте JSON онлайн. Работает полностью в вашем браузере: ваши данные никогда не покидают ваше устройство.

Форматировщик XML

Форматирует и делает читаемыми документы XML. Полезно для SOAP, карт сайта, RSS-лент и файлов конфигурации.

Кодировщик и декодировщик Base64

Кодирует строки в Base64 или декодирует Base64 в текст. Уважает вашу конфиденциальность: всё выполняется в вашем браузере.

Кодировщик и декодировщик URL

Преобразует текст в безопасную для URL кодировку (процентное кодирование) и обратно. Полезно для строк запроса, перенаправлений и OAuth-потоков.

Кодировщик и декодировщик HTML-сущностей

Преобразует специальные символы в HTML-сущности (&, < и т. д.) и обратно. Полезно для безопасной вставки текста в HTML.

Минификатор CSS

Удаляет комментарии, пробелы и ненужные символы из CSS, чтобы уменьшить размер файла.

Подпишитесь на обновления

Мы не продаем ваш адрес электронной почты. Мы не рассылаем спам.

© 2026 RevealTheme. All rights reserved.