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 Feb 6, 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 of securely transmitting information between client and server, so that the server gets the information that is required to authorise the request from client to server.

You can understand JWT tokens with an 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 decoded, it contains 3 JSON objects related to header, payload and singnature.

Note: Follow to JWT token decode online JWT Decode Applications

Decoding JWT Token

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 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 which JWT token provides instead of cookie-based authentication, and in which cases JWT token is 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 proper refresh token mechanism and required extra effort to keep it fresh.

Learn Next: More authorization techniques

  1. Notes for web authorization techniques

šŸš€

Love this content? Share it!

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.

Comments

Be the first to share your thoughts!

Guest User

Please login to comment

0 characters


No comments yet.

Start the conversation!

Share Your Expertise & Help the Community!

Build Your Portfolio

Help the Community

Strengthen Your Skills

Share your knowledge by writing a blog or quick notes. Your contribution can help thousands of frontend developers ace their interviews and grow their careers! šŸš€


Other Related Blogs

setTimeout Polyfill in JavaScript - Detailed Explanation

Anuj Sharma

Last Updated Aug 3, 2025

Explore the implementation of setTimeout in JavaScript with a detailed explanation for every step. Understand all scenarios expected to implement the setTimeout polyfill.

Implement useSessionStorage() Custom Hook in React [Interview]

Anuj Sharma

Last Updated Nov 15, 2025

Understand the code implementation of useSessionStorage custom hook in react that will help to efficiently manager session storage in application.

Top 10 React Performance Optimization Techniques [React Interview]

Anuj Sharma

Last Updated Feb 21, 2026

Find the top React Performance Optimization Techniques specific to React applications that help to make your react app faster and more responsive for the users along with some bonus techniques.

Implement useToggle() Custom Hook in React (Interview)

Anuj Sharma

Last Updated Feb 21, 2026

Explore code explanation of useToggle() custom hook in react to handle the toggle event efficiently.

Implement Infinite Currying Sum: JavaScript Interview Question sum(1)(2)(3)

Anuj Sharma

Last Updated Feb 21, 2026

In this post, we will going to cover the step-by-step implementation of Infinite Currying Sum with a code example. This is one of the most common JavaScript Interview questions.

Flatten nested object in JavaScript using recursion [JavaScript Interview]

Anuj Sharma

Last Updated Feb 21, 2026

Understand flattening nested objects in JavaScript using a recursive approach, which includes the recursive code, how to approach a recursive solution and a step-by-step explanation.

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 InterviewInterview ExperienceBlogsToolsLeaderboard

Tools

CSS Image FilterPixelate ImageAspect Ratio CalculatorBox Shadow GeneratorCSS Gradient GeneratorNeumorphism GeneratorExplore More Tools →

Ā© 2026 FrontendGeek. All rights reserved