Blog/NotesConcept

How does JWT (JSON Web Token) Authentication work - Pros & Cons

Understand the JWT(JSON Web Token) and how JWT decode works. It also covers how the end-to-end JWT authentication works between client & server, along with the pros and cons of using JWT.

Intermediate

Frontendgeek

Last Updated Jun 15, 2026


How does JWT (JSON Web Token) Authentication work - Pros & Cons

JWT(JSON Web Token) is currently becoming the standard of web authorization, where the token(JWT) carries all the required information along with the token and on the server, the information is decoded by the server using a key.

In this post, we will learn about JWT Token, its structure and pros-cons, so that you can use JWT token for authorization confidently 

What is JWT(JSON Web Token)?

A JSON Web Token (JWT) is a compact, URL-safe way to securely transmit information between client and server, so that the server receives the information required to authorise the request from client to server.

You can understand JWT tokens with the analogy of a digital boarding pass ✈️. Once you get a boarding pass after logging in, you keep showing it to prove your identity until it expires.

A JWT Token contains three parts:

  1. Header → contains metadata like the algorithm used for signing
  2. Payload → contains the actual data like userId, email, and roles, which the client wants to transfer.
  3. Signature → verifies the token hasn’t been tampered with.

Example structure:

A JWT (JSON Web Token) is made up of three parts: Each part is Base64URL encoded and separated by dots (.) notation.

<header>.<payload>.<signature>

JWT decoded Example

Here’s a sample JWT token where parts are separated by dot(.):

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.
KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30

Decoded Values

When the JWT token is decoded, it contains 3 JSON objects related to the header, payload and signature.

Note: Follow the JWT token decode online JWT Decode Application

1. Header

JWT header part contains 2 key value pair, one is the algorithm which is used to sign this token and another one is the type of token which is JWT

  • alg: Algorithm used to sign the token (HS256 = HMAC + SHA-256).
  • typ: Type of token (JWT).
{
  "alg": "HS256",
  "typ": "JWT"
}

2. Payload

Payload contains the actual data, that will going to send from client to server. This is the data which is used to do the authorization of the service.

  • "sub": Subject (usually the user ID).
  • "name": User’s name.
  • "role": Role of the user (admin, user, etc.).
  • "exp": Expiry timestamp (Unix epoch).
{
  "sub": "1234567890",
  "name": "John Doe",
  "role": "admin",
  "exp": 1716239022
}

3. Signature

The server uses this signature to verify that the token hasn’t been altered.

SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

How does JWT (JSON Web Token) Authentication work?

Here is the flow diagram to understand how JWT token works between client and server to provide authorization to the requests.

Flow diagram how JWT works

Here is what the end-to-end JWT authentication flow looks like

  1. User provides credentials - User logs in with valid credentials.
  2. Server validation & JWT generation - Server validates and generates a JWT (with header, payload, and signature).
  3. Sent JWT back to client - This token is sent back to the client and stored (usually in localStorage or cookies).
  4. Send JWT as Auth token -  For every request, the client attaches the token in the "Authorization" header.
  5. Server verification - Server verifies the signature to ensure it hasn’t been tampered with.
  6. Server authorize request - If valid → ✅ access granted. If not → ❌ access denied.

What are some pros & cons of using JWT Token-based Authentication?

Let's understand the important advantages that JWT token provides instead of cookie-based authentication, and in which cases JWT tokens are not a better choice 

Pros of JWT

Stateless

  1. No need for the server to store session data.
  2. Works perfectly with microservices and distributed systems.

Scalable

  1. Easy to use with APIs, SPAs (React/Next.js), and mobile apps.
  2. Doesn’t rely solely on browser cookies.

Compact  & Fast

  1. Base64 encoded → small enough to send in HTTP headers.
  2. Less overhead compared to storing session IDs.

Flexible Payload

  1. Can carry custom claims like roles, permissions, tenant info, etc.

Cons of JWT

Difficult to revoke if stolen

  1. Once issued, you can’t easily “kill” a token if the token gets compromised.

Size bloat

  1. Storing too much data in the payload can slow down the API requests, beacause of the more data transfer over the network.

Security risks

  1. If stored in localStorage, vulnerable to XSS.

Expiry handling

  1. Needs a proper refresh token mechanism and requires extra effort to keep it fresh.

Learn Next: More authorization techniques

  1. Notes for web authorization techniques
  2. Encode/Decode JWT Token Instantly

Love this Blog? Share it Now!

Help others discover this resource

About the Author

Frontendgeek

One of the leading, Frontend platform to help frontend devs to prepare and ace all rounds of frontend interview with ease.

Learn Next

Featured

JWT Token Decode/Encode Tool

Explained Web Authorization Techniques - Session & JWTUnderstand JavaScript Local Storage, Session Storage and CookiesWhat is CORS ? Cross-Origin Resource Sharing Explained

Comments

Be the first to share your thoughts!

Guest User

Please login to comment

0 characters


No comments yet.

Start the conversation!

About the Author

Frontendgeek

One of the leading, Frontend platform to help frontend devs to prepare and ace all rounds of frontend interview with ease.

Share your expertise

Publish a blog or quick notes on topics you know well — your write-up could be the answer someone needs before their next frontend interview.

Build your portfolio

Help the community

Sharpen your skills

Earn goodies

Other Related Blogs

What is CORS ? Cross-Origin Resource Sharing Explained [For Interviews]

Anuj Sharma

Last Updated Feb 6, 2026

A brief explanation of Cross-Origin Resource Sharing (CORS) concept to enable client application accessing resources from cross domain and HTTP headers involved to enable resource access.

Understand JavaScript Local Storage, Session Storage and Cookies

Anuj Sharma

Last Updated Feb 6, 2026

Explore how to create and use javascript local storage, session storage and cookies. Explore the key differences between Local Storage vs Session Storage vs Cookies to understand the trade-offs.

Part 1: From Zero to Published — How I Built and Published My First React NPM Package

Akash Deep Chitransh

Last Updated Feb 6, 2026

Learn how to build and publish your own NPM package with Rollup, testing, and troubleshooting. Stay tuned for part 2: building a React state management library!

Understanding Critical Rendering Path (CRP) to Improve Web Performance

Anuj Sharma

Last Updated Feb 6, 2026

Understand what all steps are involved in the Critical Rendering Path (CRP) and how optimization of different steps can improve the overall web-vitals of a web application

What happens when you type google.com in the browser

Anuj Sharma

Last Updated Feb 5, 2026

Details about how the browser works behind the scenes and what happens when you type google.com in the browser, starting from communication to the webpage rendering.

Boost Your Site Speed with CSS Sprites: A Practical Guide

Vaibhav Kumar

Last Updated Jan 28, 2026

Master CSS sprites to slash HTTP requests, supercharge load times, and optimize icons—practical guide with code, tools, and 2026 best practices.

Explained Web Authorization Techniques - Session & JWT

Anuj Sharma

Last Updated Dec 16, 2025

Understand important web authorization techniques to enhance role-based authentication for any web application with popular techniques like Session & JSON Web Token (JWT)

Stay Updated

Subscribe to FrontendGeek Hub for frontend interview preparation, interview experiences, curated resources and roadmaps.

FrontendGeek
FrontendGeek

All in One Preparation Hub to Ace Frontend Interviews. Master JavaScript, React, System Design, and more with curated resources.

Consider Supporting this Free Platform

Buy Me a Coffee

Product

HomeFrontend InterviewFrontend JobsQuestionsNewInterview ExperienceBlogsToolsLeaderboardFrontendGeek Chrome extensionGet the extension on the Chrome Web Store

© 2026 FrontendGeek. All rights reserved