Naar de inhoud springen
Gratis, zonder registratie, in je browser

JWT-decoder en debugger: tokens online decoderen en controleren

De gratis JWT-decoder en debugger toont de header en payload van je JSON Web Token meteen in leesbare vorm, en exp, iat en nbf als datum in UTC. Controleer de signatuur met een secret (HS256, HS384, HS512) of een openbare sleutel in PEM-formaat 'BEGIN PUBLIC KEY' (RS, PS, ES), bewerk claims en onderteken het token direct opnieuw met HS256, HS384 of HS512. Alles draait in je browser; er wordt niets geüpload.

Gebouwd door Jakub Martyniak

Geef je tokens uit? Draai je authenticatieservice op je eigen VPS.

Gecodeerd (JWT)

Gedecodeerd

iat: 14 nov 2023, 22:13:20 UTC

Waarom deze tool

Meer dan een JWT-decoder: controleren, bewerken en ondertekenen

Alles wat je nodig hebt om JWTs te debuggen.

Direct decoderen

De header en payload verschijnen na het invoegen meteen als opgemaakte JSON, zonder dat je op een knop hoeft te klikken.

exp, iat en nbf leesbaar

iat, nbf en exp als datum in UTC; bij exp zie je ook de resterende tijd of hoe lang deze al is verstreken. Een verlopen exp wordt rood gemarkeerd.

Opnieuw ondertekenen met HS256, HS384, HS512

Bewerk de header of payload, inclusief exp, rollen of eigen claims, en ontvang direct een nieuw token dat met je secret is ondertekend.

RS-, PS- en ES-signaturen controleren

Verifieer RS256 tot RS512, PS256 tot PS512 en ES256 tot ES512 met een openbare sleutel in PEM-formaat 'BEGIN PUBLIC KEY'.

Grote getallen blijven exact

Gehele getallen boven 2^53, zoals Snowflake-ID's, worden bij het decoderen en opnieuw ondertekenen niet afgerond.

Draait alleen in de browser

Decoderen, ondertekenen en controleren gebeurt met de Web Crypto API van jouw browser: geen upload.

Opbouw van een JWT

Een JWT decoderen is niet hetzelfde als verifiëren

Een JSON Web Token bestaat uit drie Base64URL-gecodeerde delen, gescheiden door punten: Header.Payload.Signatuur. De header en payload zijn niet versleuteld; iedereen kan ze lezen. Alleen de signatuur laat zien of een token ongewijzigd is.

Header

Bevat het algoritme (alg) en meestal het type (typ). Aan alg ziet de tool of er voor de controle een secret of een openbare sleutel nodig is.

Payload

Bevat de claims, zoals sub, rollen of exp. Je kunt ze altijd lezen, maar vertrouw ze pas nadat de signatuur geldig is bevonden.

Handtekening

Wordt berekend op basis van de header en payload. De tool controleert de signatuur met je secret (HS256, HS384, HS512) of de openbare sleutel (RS, PS, ES) en toont 'Geldig' of 'Ongeldig'.

Deze tool genereert zelf geen sterk, willekeurig secret voor HS256, HS384 of HS512.

Secret genereren met de wachtwoordgenerator

exp, iat en nbf zijn Unix-tijdstempels in seconden. Voor eigen claims heb je de juiste numerieke waarde nodig.

Tijdstempels omrekenen met de Epoch Converter

Hoe het werkt

Zo werkt de JWT-decoder

In vijf stappen van een ingevoegd token naar een gecontroleerde signatuur.

Stap 1

JWT invoegen

Plak je JWT in het veld 'Encoded (JWT)' of klik op 'Voorbeeld laden' om met een HS256-voorbeeldtoken te testen.

Stap 2

Header en payload lezen

In het gedeelte 'Decoded' zie je de header en payload meteen als opgemaakte JSON. exp, iat en nbf verschijnen boven de payload als datum in UTC.

Stap 3

Handtekening controleren

Voer het secret voor HS256, HS384 of HS512 in, of plak voor RS-, PS- en ES-tokens de openbare sleutel in PEM-formaat 'BEGIN PUBLIC KEY'. Bovenaan verschijnt dan 'Geldig' of 'Ongeldig'.

Stap 4

Bewerken en opnieuw ondertekenen

Optioneel: wijzig de header of payload, of kies HS256, HS384 of HS512 als algoritme. In het veld 'Encoded (JWT)' verschijnt direct een nieuw token, ondertekend met je secret.

Stap 5

Resultaat kopiëren

Kopieer het token, de header of de payload met de bijbehorende kopieerknop naar het klembord.

Meer ontdekken

Bijpassende tools voor JWT en authenticatie

FAQ

Veelgestelde vragen over de JWT-decoder

Korte antwoorden over decoderen, handtekeningcontrole, vervaltijd en privacy.

Ja. De JWT-decoder en debugger draait rechtstreeks op deze pagina in je browser, zonder account, aanmelding of installatie.

Nee. Het decoderen, ondertekenen en controleren van de signatuur gebeurt uitsluitend in je browser; voor cryptografie wordt de Web Crypto API gebruikt. Het token, secret en de openbare sleutel worden niet geüpload. Echte JWT's bevatten vaak sessie- of API-toegangsgegevens. Voor tests kun je beter testtokens gebruiken.

Ja. Een JWT is niet versleuteld: de header en payload zijn alleen Base64URL-gecodeerd en voor iedereen leesbaar. Het secret of de openbare sleutel is alleen nodig voor de signatuurcontrole en, bij HS256, HS384 en HS512, om opnieuw te ondertekenen. Decoderen bewijst dus niet dat een token authentiek is; dat blijkt pas uit de signatuurcontrole.

Voor HS256, HS384 en HS512 voer je het secret in. Staat in de header RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384 of ES512, dan verschijnt in plaats daarvan een veld voor de openbare sleutel in PEM-formaat 'BEGIN PUBLIC KEY' (SPKI). RSA PUBLIC KEY (PKCS#1) en certificaten accepteert de tool niet. Het resultaat staat bovenaan als 'Geldig' of 'Ongeldig'; zonder secret of sleutel staat er 'Niet gecontroleerd'. Andere algoritmen controleert de tool niet.

Als de payload exp, iat of nbf als getal bevat, toont de tool deze claims boven de payload als datum in UTC. Bij exp zie je over hoeveel tijd het token verloopt of hoelang het al verlopen is. Een verlopen exp wordt rood gemarkeerd. Ligt nbf in de toekomst, dan zie je vanaf wanneer het token geldig is.

Ja. Bewerk de header of payload rechtstreeks, bijvoorbeeld exp, rollen of eigen claims, of kies een ander algoritme. Zodra je iets wijzigt, verschijnt in het veld 'Encoded (JWT)' direct een nieuw token, ondertekend met je secret. Ondertekenen werkt alleen met HS256, HS384 en HS512: voor RS-, PS- en ES-algoritmen is een privésleutel nodig, die de tool niet gebruikt.

Kopieer alleen het deel na 'Bearer ' en plak dat in het veld. Het voorvoegsel wordt niet automatisch verwijderd en een JWT moet uit precies drie door punten gescheiden delen bestaan (Header.Payload.Signatuur). Met het voorvoegsel kan de header niet worden gelezen en toont de tool een foutmelding.

Een JWT bestaat uit drie Base64URL-gecodeerde delen, gescheiden door punten: een header (bijvoorbeeld alg en typ), een payload met de claims en een signatuur. Het vooraf ingevulde voorbeeld laat de opbouw zien: een HS256-token met sub, name en iat, dat met het voorbeeldsecret als 'Geldig' wordt beoordeeld.

Bouw je momenteel iets op maat?

Jouw API heeft een betrouwbare server nodig die de tokens ervan uitgeeft

Een ZAP-Hosting VPS brengt je applicatie of project betrouwbaar online.

4,4/5 Trustpilot32.000+ Actieve serversSinds 2010

Geen installatie. Geen risico. Binnen enkele seconden online.

Flexibele looptijdOp elk moment opzegbaarBinnen 60 seconden online

Op zoek naar meer tools? Alle ontwikkelaarstools bekijken