Over a million developers have joined DZone.

jwt-cli: A Shell Library to Decode JWTs [Snippet]

DZone 's Guide to

jwt-cli: A Shell Library to Decode JWTs [Snippet]

Check out this handy shell script that makes it easy to decode multiple JSON Web Tokens, as well as a code snippet of the script in action.

· Web Dev Zone ·
Free Resource

When I started needing to decode JSON Web Tokens quite often, I felt the urge to write a program that allowed me to do it quickly. There are excellent options, such as jwt.io, but as soon as you need to do this operation often enough, it becomes clumsy. And if you need to process multiple tokens, or further process the output, something else becomes a necessity.

That's why I wrote a little shell script that allows you to do just that. jwt-decode will accept a list of tokens as arguments and will decode them on a standard output. The syntax is the following:

$ jwt-decode token ...
  "alg": "RS256",
  "typ": "JWT",
  "kid": "sbS_BWBm0GzfIQRnYWolcWDRnjqwDTY_Aq6Fn_boqKM"
  "jti": "271151a3-db11-4f37-a724-4cf9957774f4",
  "exp": 1530979706,
  "nbf": 0,
  "iat": 1523117306,
  "iss": "https://domain.com/auth/realms/realm",
  "aud": "app-name",
  "sub": "5132c417-d772-420e-b5db-401ea633dca1",
  "typ": "Bearer",
  "azp": "app",
  "auth_time": 0,
  "session_state": "84e6a759-e54d-4fd7-9fcf-bb51131aab89",
  "acr": "1",
  "allowed-origins": [
  "realm_access": {
    "roles": [
  "resource_access": {
    "account": {
      "roles": [
  "custom-property": "1797"

You can find jwt-cli on GitHub.

web dev ,shell script ,jwt ,decoding ,json web tokens

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}