JWT-декодер

Декодируйте и просматривайте заголовки и полезную нагрузку JSON Web Token.

Загрузка инструмента…

JWT-декодерВставьте JWT, чтобы мгновенно увидеть декодированные заголовок и полезную нагрузку: временные клеймы iat, nbf и exp отображаются как читаемые даты, а живой бейдж показывает истёк токен или действителен. Декодирование происходит полностью в вашем браузере, поэтому токены никуда не отправляются — но помните, что подпись здесь не проверяется, поэтому никогда не доверяйте полезной нагрузке, пока она не проверена на стороне сервера.

Что такое JWT-декодер?

JWT Decoder — это бесплатный онлайн-инструмент, который декодирует и анализирует JSON Web Token (JWT), позволяя разработчикам читать содержимое токена доступа, ID-токена или bearer-токена без догадок. Вставьте токен в стандартном формате header.payload.signature, и инструмент декодирует header и payload в base64url, аккуратно выведет оба как форматированный JSON и отобразит временные клеймы iat, nbf и exp в виде понятных дат с живым бейджем истёк/действителен. Он создан для backend- и frontend-инженеров, QA-тестировщиков и интеграторов API, которые отлаживают потоки аутентификации, сессии OAuth/OIDC или проблемы с истечением срока токена. Учтите, что это декодер, а не верификатор — он не проверяет подпись, поэтому предназначен только для просмотра.

Как пользоваться JWT-декодер

  1. Скопируйте свой JWT (header.payload.signature) из приложения, инструментов разработчика браузера или заголовка Authorization: Bearer.
  2. Вставьте его в текстовое поле 'JWT token'.
  3. Прочитайте декодированный, аккуратно отформатированный JSON в разделах Header и Payload под полем ввода.
  4. Если полезная нагрузка содержит iat, nbf или exp, проверьте карточки Issued (iat), Not before (nbf) и Expires (exp), а также бейдж истёк/действителен, чтобы увидеть срок жизни токена.
  5. Используйте кнопку Копировать в разделе Header или Payload, чтобы скопировать отформатированный JSON, или нажмите Очистить, чтобы сбросить ввод.

Примеры

Декодировать заголовок JWT

Ввод

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0In0.sig

Вывод

{
  "alg": "HS256",
  "typ": "JWT"
}

В разделе Header показан декодированный, аккуратно отформатированный JSON первого сегмента.

Прочитать клеймы срока действия

Вставьте токен, полезная нагрузка которого содержит exp/iat/nbf. Инструмент преобразует каждый клейм в секундах эпохи в читаемую локальную дату и показывает рядом со значением Expires (exp) зелёный бейдж 'действителен' или красный 'истёк', обновляемый каждую секунду.

Некорректный токен

Ввод

not-a-jwt

Вывод

Malformed token — expected header.payload.signature

Строка, не содержащая хотя бы сегментов заголовка и полезной нагрузки (без разделителей-точек), вызывает эту ошибку вместо декодирования.

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

Проверяет ли этот инструмент подпись JWT?
Нет. Он только декодирует и отображает заголовок и полезную нагрузку — подпись не проверяется. Никогда не доверяйте декодированной полезной нагрузке, пока подпись не проверена на стороне сервера; рассматривайте вывод исключительно как просмотр.
Какой формат токена ожидается?
Стандартный JWT, содержащий как минимум часть header.payload (header.payload.signature). Он разделяет строку по точкам и декодирует первые два сегмента в base64url, поэтому часть с подписью при декодировании игнорируется.
Какие временные клеймы он показывает?
Он отображает стандартные числовые клеймы в секундах эпохи iat (выпущен), nbf (не ранее) и exp (истекает), форматируя каждый как читаемую локальную дату. Он помечает истёкшие токены и предупреждает, когда токен ещё не действителен, потому что nbf находится в будущем. Карточки статистики появляются только при наличии хотя бы одного из этих клеймов.
Загружается ли мой токен или отправляется куда-либо?
Нет. Всё выполняется полностью на стороне клиента в вашем браузере с помощью встроенного декодирования base64 и JSON — ваш токен никогда не загружается ни на один сервер, что делает безопасным просмотр конфиденциальных токенов доступа.
Почему я получаю ошибку на токене, который выглядит правильным?
Если во вводе меньше двух сегментов или заголовок/полезная нагрузка пусты, вы увидите сообщение 'Malformed token', а если сегмент не является корректным JSON в кодировке base64url, вы увидите ошибку 'invalid'. Убедитесь, что вставили полный токен без лишних пробелов и обрамляющих кавычек.

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