JSFiddle - React, Tailwind, and code Playground
by bryandowning
JavaScript
const token = 'eyJhbGciOiJIUzUxMiJ9.eyJuYW1lIjoiQnJ5YW4gRG93bmluZyIsImVtYWlsIjoiYmRvd25pbmdAYmVhY2hib2R5LmNvbSIsInN1YiI6IjAwdXE5d2toaGVtVVMyYVkyMHg3IiwiYWNjZXNzVG9rZW4iOiJleUpyYVdRaU9pSjVNVEJPVEdOT056WnVNekJvUzFwRVlXZDZaRVpXVG5Rd05XTjFTalozWkZkdGFXNUpNVE00V2xaQklpd2lZV3huSWpvaVVsTXlOVFlpZlEuZXlKMlpYSWlPakVzSW1wMGFTSTZJa0ZVTG5oSU16ZGxRVW90ZDI0NVZucFZSR2RCT0daTE5HRlVNbGRtZEU5eldXc3llREZzV2xsc2EwSk9TMFV1YjJGeWNqSm1lRFozVGtkME5GcERZVEV3ZURZaUxDSnBjM01pT2lKb2RIUndjem92TDJKbFlXTm9ZbTlrZVM1dmEzUmhMbU52YlM5dllYVjBhREl2WVhWemMybHBNRGsxWWxoNVpEWTFOVUV3ZURjaUxDSmhkV1FpT2lKb2RIUndjem92TDNOamFHVmtkV3hsY2lJc0ltbGhkQ0k2TVRZek5qRXpNamM0TXl3aVpYaHdJam94TmpNMk1UTTJNemd6TENKamFXUWlPaUl3YjJGME5IRndNbTQyUWpSTlRIZGtaekI0TnlJc0luVnBaQ0k2SWpBd2RYRTVkMnRvYUdWdFZWTXlZVmt5TUhnM0lpd2ljMk53SWpwYkltOW1abXhwYm1WZllXTmpaWE56SWl3aVozSnZkWEJ6SWl3aWIzQmxibWxrSWl3aWNISnZabWxzWlNJc0ltVnRZV2xzSWwwc0luTjFZaUk2SW1Ka2IzZHVhVzVuUUdKbFlXTm9ZbTlrZVM1amIyMGlmUS5MRWtHbGhRbzkzZGtaVnZFajhkZVJ3eGtzemNIOHc3ZXhjVkUteEFGMzAzMU13SlVRLW1EVEJPbnpBaG1wR2M3enB4eExTUk9iRU16VFpTdURVOUlGR1dtcnltOHppYlFOX2hfeE5HSlA4TXF1dlliRFY1SHRzNHpRM2w0UVNxSTVmZ0VqYlhyYWJxT1FVbEJMOEpJeFhiR1FtMmN5Y3hzX3lIbko1Rjh2VEYzUjh4MTlIRk1CRXJiR25hQkdOejNvRDUzdEJ5LWF2endSRVpGVksyZ3czb1dzMDNpN1BTX041YUNFM29tRjlkdWtkT2tIUGhud2VsQ05TVnM3Sm91U0o4aGtPRlZlTklXUGlteFQzWm0zVW5YVFUxVjNRWUhTaHJfUTA0SXY5REQwRlJzT1JRZTVtM1dMcGo5LUxvNkEyTW5kUzd2bFhFM2wtVVVaaTZaMGciLCJyZWZyZXNoVG9rZW4iOiJCWk5TeVo5R0xhZjl4Yl9zbGh1U1c1djVwS3h4MkRJQUZzcGNDVDNYTTl3IiwiYWNjZXNzVG9rZW5FeHBpcmVzIjoxNjM2MTM2MzgzNTEyLCJpYXQiOjE2MzYxMzU5MzksImV4cCI6MTYzODcyNzkzOX0.u40RCOW1q8tOv-NMHS37Q4-JQkJ-_iA70vViEVl2hbOnOXMdJK_XHEyYdFMCS12ramnKgu37LEGiBI55n44kdg';
var base64Url = token.split('.')[1];
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
const result = JSON.parse(jsonPayload);
console.log(result);