Как расшифровать JWT токен
Вставьте строку в поле выше, и расшифровка начнётся сразу, кнопок нажимать не нужно. Ключ не требуется: заголовок и payload у JWT не зашифрованы, а всего лишь закодированы, поэтому прочитать их может кто угодно. Декодер разложит токен на три части, покажет claims списком с расшифровкой стандартных имён и отдельно выведет срок действия: истёк токен или сколько ему осталось. Всё считается прямо в браузере, токен никуда не отправляется.
Формат токена: из чего состоит JWT
JWT — это три блока, разделённые точками: заголовок (каким алгоритмом подписан токен), payload (сами данные: кто пользователь, какие у него роли, до какого времени токен годен) и подпись (она не содержит данных, а доказывает, что токен не подделали). Первые два блока — обычный JSON, поэтому декодер и показывает их читаемым списком.
Расшифровать токен — не значит проверить его
Это разные операции, и путать их опасно. Расшифровка — разбор Base64, ключ не нужен, делает кто угодно. Проверка токена — пересчёт подписи секретным или публичным ключом, и только она отвечает на вопрос «этот токен вообще наш?». Здесь подпись не проверяется намеренно, для этого пришлось бы просить у вас ключ. Поэтому решение о доступе всегда принимается на сервере после верификации, а декодер остаётся инструментом для отладки: посмотреть, что внутри, и понять, почему запрос отлетает. Разбор с примерами кода есть в статье что внутри JWT-токена и как работает авторизация.
Почему JWT не декодируется обычным Base64
Заголовок, payload и подпись JWT закодированы в Base64URL, варианте Base64, где символы + и / заменены на - и _, а завершающие = обычно опущены. Так строку можно безопасно вставлять в URL и заголовки без экранирования. Обычный Base64-кодировщик на такой строке споткнётся или выдаст мусор. Этот декодер сначала возвращает символы обратно и восстанавливает паддинг, а потом уже разбирает JSON.
Не вставляйте сюда боевые токены с чужими данными
Декодирование происходит локально в браузере, и сам инструмент никуда токен не отправляет. Но это не повод копировать в любой сайт токен из продакшена, где в payload лежат реальные email, роли или ID пользователей. Для отладки формата и claims безопаснее взять один из встроенных примеров (Auth0, Firebase, AWS Cognito) или тестовый токен, который вы сгенерировали сами, а не тот, что выдала боевая система реальному пользователю.
JWT — те же данные JSON, просто закодированные в base64. Разбор самого формата и отличие от XML есть в статье Что такое JSON: формат данных простыми словами, а про access- и refresh-токены, срок жизни и типичные ошибки написано в разборе JWT-токена.