Декодер JWT
Декодуйте будь-який JSON Web Token у браузері: header і payload, exp, iat і nbf як справжні дати у вашому часовому поясі та чи сплив токен.
Підсумок
Заголовок (header)
Payload (claims)
Токен і підпис
Читайте будь-який JWT, нікуди його не надсилаючи
Вставте JSON Web Token, і декодер розділить його на три частини: заголовок (яким алгоритмом його підписано), payload (claims: хто користувач, до чого має доступ і коли спливає токен) та підпис. JSON форматується, щоб його можна було прочитати з першого погляду.
Часові claims перетворюються на справжні дати. exp, iat і nbf показуються у вашому часовому поясі, в UTC і у вигляді «через 20 хвилин» чи «3 дні тому», а статус одразу каже, чи токен діє, сплив, чи ще не набув чинності.
Токени часто відкривають доступ до справжніх акаунтів, тому все декодується у вашому браузері. Токен ніколи не завантажується на наш сервер, не логується і не зберігається — це безпечніше, ніж вставляти його в чат-бот чи на сайт, який надсилає його на сервер.
Як декодувати JWT
- Скопіюйте токен із застосунку, заголовка
Authorization, cookie або інструментів розробника в браузері. - Вставте його в поле. Префікс
Bearer, лапки, пробіли й переноси рядків видаляються автоматично. - Перегляньте підсумок: статус, алгоритм, видавця, суб’єкта, аудиторію та точний час видачі й закінчення.
- Кнопками копіювання перенесіть відформатований JSON заголовка або payload у баг-репорт чи свої нотатки.
Що означають основні claims
exp(expiration time): після цього моменту токен треба відхиляти.iat(issued at): коли токен створено.nbf(not before): до цього моменту токен приймати не можна.iss(issuer): хто випустив токен, часто URL вашого сервера авторизації.sub(subject): про кого токен, зазвичай ID користувача.aud(audience): застосунок або API, для яких призначено токен.algіkid(у заголовку): алгоритм підпису, наприклад HS256 чи RS256, та ID ключа, яким токен підписано.
Дати в JWT — це значення NumericDate: кількість секунд від 1 січня 1970 року UTC. Декодер сам перетворює їх на дати, тож окремий конвертер timestamp не потрібен.
Поради з налагодження
- Якщо API відповідає 401 одразу після входу, спершу перевірте
expіnbf. Годинник сервера, що поспішає чи відстає на кілька хвилин, — часта причина; більшість бібліотек дозволяють невеликий запас. - Дата через десятки тисяч років означає, що значення записано в мілісекундах замість секунд. Декодер попередить про це.
- Порівняйте
audіissз тим, на що очікує ваш API. Токен, виданий для іншого застосунку чи середовища (staging замість продакшену), — часта причина помилок «недійсний токен». - Заголовок з
alg, що дорівнюєnone, означає непідписаний токен. Ніколи не приймайте такі токени в продакшені.
Обмеження та що варто знати
- Декодувати — не означає перевірити. Будь-хто може створити токен з будь-якими claims; справжність доводить лише перевірка підпису правильним ключем на вашому сервері. Цей інструмент підписи не перевіряє.
- Payload звичайного JWT лише закодований, а не зашифрований. Його може прочитати будь-хто, хто має токен, тому ніколи не зберігайте в claims паролі та секрети.
- Зашифровані токени (JWE, п’ять частин) не можна прочитати без ключа, тому показується лише їхній заголовок.
- Числа показуються точно так, як записані в токені, тож довгі числові ID ніколи не округлюються.
Поширені запитання
Чи безпечно вставляти сюди справжній токен?
Так. Декодування виконується на JavaScript у вашому браузері, і токен ніколи не надсилається на наш сервер. Проте ставтеся до чинних токенів як до паролів: не діліться ними на скриншотах і в чатах та дайте їм сплисти.
Чи може інструмент сказати, чи дійсний токен?
Він показує за датами, чи токен сплив або ще не набув чинності. Справжність підпису він визначити не може: для цього потрібен секретний або публічний ключ, який має бути лише у вашого сервера.
Чому токен показано як прострочений, хоча я щойно його отримав?
Перевірте годинник сервера, який його видав, і переконайтеся, що exp вказано в секундах, а не в мілісекундах. Якщо iat теж на кілька годин у минулому, годинник сервера, найімовірніше, іде неправильно.
Чим декодер JWT відрізняється від декодера Base64?
JWT — це три частини в кодуванні Base64URL, з’єднані крапками. Декодер Base64 читає по одній частині, а декодер JWT сам розділяє токен, розуміє URL-безпечний алфавіт і відсутність доповнення та перетворює дати на зрозумілий час.
Чи працює він офлайн?
Так. Після завантаження сторінки можна відключитися від інтернету й далі декодувати токени.
Схожі інструменти
- Декодер Base64: Миттєво розкодовуйте рядки Base64 у читабельний текст. Перевіряйте заголовки авторизації, токени, payload API та листи. Безкоштовний декодер Base64.
- Валідатор і форматувальник JSON: Перевіряйте й красиво форматуйте JSON онлайн. Знаходьте синтаксичні помилки та перетворюйте мініфікований JSON на читабельний код. Безкоштовно.
- URL-декодер: Розкодовуйте процентно закодовані URL і query string у читабельний текст. Миттєво перетворюйте %20, %26 і %D1%97 на звичайні символи. Безкоштовно.
- Кодувальник Base64: Миттєво кодуйте будь-який текст чи рядок у Base64. Зручно для data URI, заголовків HTTP Basic auth, пошти та API. Безкоштовний кодувальник Base64.
Схожі інструменти
Миттєво розкодовуйте рядки Base64 у читабельний текст. Перевіряйте заголовки авторизації, токени, payload API та листи. Безкоштовний декодер Base64.
Перевіряйте й красиво форматуйте JSON онлайн. Знаходьте синтаксичні помилки та перетворюйте мініфікований JSON на читабельний код. Безкоштовно.
Розкодовуйте процентно закодовані URL і query string у читабельний текст. Миттєво перетворюйте %20, %26 і %D1%97 на звичайні символи. Безкоштовно.
Популярні безкоштовні інструменти
Створюйте надійні випадкові паролі в один клік. Оберіть довжину, великі й малі літери, цифри та символи. Безкоштовно, без реєстрації.
Текст у ВЕЛИКІ чи малі літери, Sentence case, Capital Case, camelCase, PascalCase, snake_case, CONSTANT_CASE, dot.case чи param-case. Безкоштовно.
Витягуйте всі адреси email з тексту, HTML, логів чи документів одним кліком і отримуйте чистий список з кількістю. Безкоштовний екстрактор email.
Перевірте DNS-записи будь-якого домену: A, AAAA, CNAME, MX, NS, TXT і SOA. Безкоштовно перевіряйте пошту, SPF, верифікацію та сервери імен.
Змінюйте роздільники в тексті: нові рядки, пробіли, крапки з комою, дефіси, вертикальні риски чи крапки. Перетворюйте стовпець на рядок і назад.
Створіть посилання WhatsApp click-to-chat зі своїм номером і готовим повідомленням. Додайте його на сайт, у біо, рекламу чи QR-код. Безкоштовно.