JWT decoderen online

Decodeer een JWT in je browser: je token wordt nooit geüpload of bewaard, er is geen limiet en je ziet header en payload als JSON, met exp en iat als datums en een melding of het token is verlopen. Een Bearer ervoor is prima.

Toon
Inspringen

Zo werkt het

  1. Plak je code

    Plak de code in het linkervak of open een bestand. Geen code bij de hand? Klik op Voorbeeld.

  2. Direct resultaat

    De uitkomst verschijnt terwijl je typt. Is er een fout, dan zie je op welke regel en welk teken.

  3. Kopieer of download

    Kopieer het resultaat met één klik of sla het op als bestand voor je editor of project.

Hoe zit een JWT in elkaar?

Een JWT heeft drie delen met een punt ertussen: header.payload.handtekening. De eerste twee zijn JSON gecodeerd als base64url. Iedereen kan ze lezen; ze zijn niet versleuteld. Zet er dus nooit wachtwoorden of andere geheimen in. De handtekening bewijst alleen dat de inhoud niet is veranderd.

Veelvoorkomende claims

  • sub: over wie het token gaat (de gebruiker).
  • iat: wanneer het token is uitgegeven.
  • exp: tot wanneer het geldig is.
  • nbf: vanaf wanneer het geldig is.
  • iss en aud: wie het heeft uitgegeven en voor wie het bedoeld is.

De tijden zijn Unix-timestamps, seconden sinds 1 januari 1970. Je kunt ze zelf omzetten met de Unix timestamp omzetter.

Waarom een JWT-decoder lokaal moet draaien

Een JWT is een inlogbewijs. Wie een geldig token heeft kan vaak als die gebruiker handelen tot het verloopt, dus een productietoken plakken in een website die hem naar een server stuurt is een echt risico. Deze decoder leest het token in je browser en niets verlaat je apparaat. Gebruik toch liever testtokens, en beschouw een token dat je op een gedeelde plek hebt geplakt als gelekt.

"Ongeldig" of "verlopen": wat controleer je?

  • Verlopen. Vergelijk exp met de huidige tijd. Een paar minuten klokverschil tussen servers kan een vers token verlopen of nog niet geldig (nbf) laten lijken.
  • Verkeerde doelgroep of uitgever. De claims aud en iss moeten overeenkomen met wat je API verwacht.
  • Geen drie delen. Een JWT heeft twee punten. Ondoorzichtige tokens, zoals OAuth-toegangstokens van sommige aanbieders, zijn willekeurige tekenreeksen die je niet kunt decoderen.

Wordt de handtekening gecontroleerd?

Nee. Daarvoor is de geheime of publieke sleutel van de uitgever nodig, en je moet geen productiesleutels in een website plakken. Deze tool leest alleen de inhoud. Het voorbeeldtoken is ondertekend met de sleutel secret. Wees achterdochtig bij een token met "alg": "none": een correcte server moet dat weigeren. Wil je één deel met de hand lezen, gebruik dan Base64 decoderen.

Veelgestelde vragen

Is het veilig om mijn token hier te plakken?

Het token wordt in je browser gelezen en niet verstuurd of bewaard. Gebruik toch liever testtokens, want een token is een inlogbewijs.

Controleert dit de handtekening?

Nee. Daarvoor is de geheime of publieke sleutel nodig. De tool leest alleen de inhoud.

Waarom toont mijn token als verlopen?

De exp-tijd ligt in het verleden, of de klokken van de betrokken systemen lopen uiteen. De tool toont exp als leesbare datum zodat je kunt vergelijken.

Kan ik een token decoderen dat geen JWT is?

Alleen JWT's, die drie door punten gescheiden delen hebben. Ondoorzichtige tokens zijn willekeurige tekenreeksen en bevatten niets om te decoderen.