JSFiddle - React, Tailwind, and code Playground

by dshilkret

JavaScript

function decodeJWT(token) {
    const base64Url = token.split('.')[1]; // Get the payload part
    const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); // Replace Base64Url characters with Base64 characters
    const jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
        return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
    }).join(''));

    return JSON.parse(jsonPayload);
}
decodeJWT(token);
// Usage
var token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjVCM25SeHRRN2ppOGVORGMzRnkwNUtmOTdaRSIsImtpZCI6IjVCM25SeHRRN2ppOGVORGMzRnkwNUtmOTdaRSJ9.eyJhdWQiOiJodHRwczovL2R0ZWNobzM2NS5zaGFyZXBvaW50LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0L2NjMDM2OTFiLTQ1NmMtNDExNi04ZGRkLTE1N2MwOGNmZTNkMi8iLCJpYXQiOjE3MDQyMjYxOTQsIm5iZiI6MTcwNDIyNjE5NCwiZXhwIjoxNzA0MjMxMDQyLCJhY3IiOiIxIiwiYWlvIjoiQVRRQXkvOFZBQUFBQzdvbjU2RDJqRi80YWNwaWxYMmtTdWdYS3FtNFFIaUo3OW4vYUtqM2h5MjhVVnhNNWJVU01nc3g3WHVzdk81diIsImFtciI6WyJwd2QiXSwiYXBwX2Rpc3BsYXluYW1lIjoiU2VydmljZU5vd0RvY0ludGVncmF0b3JEZXYiLCJhcHBpZCI6Ijk2MjRhNDgzLTUyOTctNDVmNy05MWRhLWE4ZWMwZTc1Nzk4YiIsImFwcGlkYWNyIjoiMCIsImZhbWlseV9uYW1lIjoiU2VydmljZU5vd0FkbWluIiwiZ2l2ZW5fbmFtZSI6IlNlcnZpY2VOb3dBZG1pbiIsImlkdHlwIjoidXNlciIsImlwYWRkciI6IjEwNC41Ny4xODguMTIxIiwibmFtZSI6IlNlcnZpY2VOb3dBZG1pbiIsIm9pZCI6IjlhOWI3NDMzLWM3OTYtNDQ3Zi1hNTIwLTM4M2ZjNjI5YWQ4NyIsInB1aWQiOiIxMDAzMjAwMDNFMUNCODAxIiwicmgiOiIwLkFYVUFHMmtEekd4RkZrR04zUlY4Q01fajBnTUFBQUFBQVBFUHpnQUFBQUFBQUFCMUFOVS4iLCJzY3AiOiJBbGxTaXRlcy5Xcml0ZSBDaGFubmVsLkNyZWF0ZSBDaGFubmVsTWVtYmVyLlJlYWRXcml0ZS5BbGwgQ2hhbm5lbE1lc3NhZ2UuUmVhZC5BbGwgQ2hhbm5lbE1lc3NhZ2UuUmVhZFdyaXRlIENoYW5uZWxNZXNzYWdlLlNlbmQgQ2hhdC5SZWFkV3JpdGUgQ2hhdE1lc3NhZ2UuUmVhZCBDaGF0TWVzc2FnZS5TZW5kIEZpbGVzLlJlYWRXcml0ZS5BbGwgR3JvdXAuUmVhZFdyaXRlLkFsbCBNYWlsLlJlYWQgTWFpbC5SZWFkLlNoYXJlZCBNYWlsLlJ