JWT-декодер
Вставте JSON Web Token, щоб прочитати його header і payload, дізнатися, коли він спливає, і розібратися в кожному claim. Токен не залишає ваш браузер.
Працює в браузеріБез реєстраціїНічого не завантажується
Декодування — це не перевірка. Header і payload JWT може прочитати будь-хто, адже вони лише закодовані в base64url. Інструмент показує, що токен стверджує, але не доводить його справжність. Завжди перевіряйте підпис на своєму сервері.
Заголовок
Payload
Пояснення claims
Перевірити підпис (необов'язково, HS256/HS384/HS512)
Перевіряє підпис HMAC із введеним вами секретом через Web Crypto API браузера. Секрет не залишає цю сторінку. Для токенів RSA/ECDSA потрібен відкритий ключ видавця, тут вони не перевіряються.
Як користуватися: JWT-декодер
- Вставте токен у поле Закодований токен. Префікс
Bearerіз заголовка Authorization ігнорується. - Header і payload декодуються миттєво й показуються як відформатований JSON.
- Перегляньте таблицю Пояснення claims:
exp,iatіnbfперетворюються на дати з позначками «спливає через» / «сплив … тому». - Перевірте рядок стану на проблеми з терміном дії та попередження про ризиковані налаштування на кшталт
alg: none. - За бажанням введіть спільний секрет, щоб локально перевірити підпис HS256, HS384 або HS512.
Що всередині JWT?
JSON Web Token (RFC 7519) — це три рядки base64url, з'єднані крапками: header.payload.signature. Header вказує алгоритм підпису (alg) і тип токена. Payload містить claims: наприклад, хто користувач і коли спливає токен. Підпис обчислюється над першими двома частинами за допомогою секрету або закритого ключа.
Декодування — не перевірка
Header і payload лише закодовані, а не зашифровані, тому їх може прочитати будь-хто, хто має токен. Саме тому ніколи не кладіть паролі й секрети в payload JWT. Декодування показує, що токен каже. Перевірка підпису, зазвичай на вашому API-сервері з бібліотекою на кшталт jose або PyJWT, доводить, хто його випустив і що його не змінено. Сервер також має перевіряти exp, nbf, iss і aud та відхиляти неочікувані алгоритми.
Шпаргалка із зареєстрованих claims
| Claim | Значення |
|---|---|
iss | Issuer: хто створив і підписав токен |
sub | Subject: зазвичай ID користувача |
aud | Audience: для якого API призначено токен |
exp | Час закінчення в секундах від початку епохи Unix |
nbf | Недійсний до цього моменту |
iat | Час випуску |
jti | Унікальний ID токена, корисний для списків відкликання |
Налагодження помилок «token expired»
Якщо API відхиляє токен, що виглядає свіжим, порівняйте exp і nbf з годинником сервера. Невелика розбіжність годинників між машинами — звична річ, тому більшість бібліотек допускає запас 30–60 секунд. Також переконайтеся, що exp вказано в секундах: значення в мілісекундах — часта помилка, яка відсуває закінчення на тисячі років уперед.
Поширені запитання
Чи безпечно вставляти сюди продакшн-JWT?
Чи перевіряє інструмент підпис JWT?
Чому мій токен показано як прострочений?
exp у минулому відносно годинника вашого комп'ютера. Запросіть новий токен або оновіть його за допомогою refresh token. Якщо час виглядає дивно, перевірте розбіжність годинників або значення exp, записане в мілісекундах.Чим відрізняються JWT, JWS і JWE?
Чим небезпечний alg «none»?
alg: none і приймати лише конкретний очікуваний алгоритм.