JWT-декодер — расшифровка и разбор JSON Web Token онлайн
Подпись показана, но не проверяется — для проверки нужен ключ подписи, который не покидает ваш сервер. Само по себе декодирование не подтверждает подлинность токена.
Вставьте JSON Web Token, чтобы мгновенно увидеть его декодированный заголовок и payload. Инструмент разбивает токен на три части, декодирует сегменты Base64URL, форматирует JSON и показывает стандартные claim'ы — например exp и iat — в виде понятных дат. Всё работает в браузере: токен никуда не отправляется.
Как это работает
- 1 Вставьте токен Вставьте полный JWT (начинается с eyJ и содержит две точки) в поле ввода. Декодирование начинается по мере ввода — кнопку нажимать не нужно.
- 2 Прочитайте заголовок и payload Декодированные заголовок и payload отображаются как отформатированный JSON. Алгоритм, тип токена и статус срока действия показаны сверху.
- 3 Проверьте claim'ы и скопируйте Стандартные claim'ы — exp, iat, sub и другие — выводятся вместе с читаемыми датами. Используйте кнопки «Копировать», чтобы забрать декодированный JSON.
Ваши данные защищены
Всё обрабатывается прямо в вашем браузере. Никакие файлы или текст не отправляются на наши серверы. Отключите интернет — инструмент продолжит работать.
Часто задаваемые вопросы
- Проверяет ли инструмент подпись JWT?
- Нет. Декодирование только читает содержимое — для проверки подписи нужен секретный ключ (HMAC) или открытый ключ (RSA/ECDSA), который клиентский инструмент не может безопасно хранить. Инструмент показывает сегмент подписи, но не проверяет его. Всегда проверяйте подпись на сервере, прежде чем доверять токену.
- Отправляется ли мой токен на сервер?
- Никогда. Всё декодирование происходит в JavaScript внутри браузера. Токен не покидает ваше устройство, поэтому можно безопасно вставлять токены со staging или production во время отладки.
- Что означают три части JWT?
- JWT состоит из header.payload.signature. Заголовок задаёт алгоритм подписи и тип токена. Payload содержит claim'ы (данные) — например, ID пользователя и срок действия. Подпись вычисляется из первых двух частей и секрета и подтверждает, что токен не подменили.
- Что означает claim exp?
- exp — это время истечения в формате Unix-timestamp (секунды с 1970 года). Если текущее время больше exp, токен просрочен и большинство серверов его отклонят. Инструмент сравнивает exp с часами вашего устройства и показывает значок «Просрочен» или «Действителен».
- Почему payload не зашифрован?
- Обычный JWT подписан, но не зашифрован. Заголовок и payload только закодированы в Base64URL, поэтому их может прочитать любой, у кого есть токен. Никогда не помещайте пароли или секреты в payload — считайте, что его прочитает каждый, кто держит токен.
- Что такое Base64URL и почему не обычный Base64?
- Base64URL — это вариант Base64, где + и / заменены на - и _, а отступы (padding) убраны, поэтому результат безопасен в URL и HTTP-заголовках. JWT использует его для всех трёх сегментов — поэтому при вставке сегмента в обычный декодер Base64 часто возникает ошибка.