Skip to main content

Command Palette

Search for a command to run...

Serialization and Deserialization in Web Development

A beginner-friendly guide to understanding how data is converted for storage, transfer, and use in real web apps

Updated
6 min read
Serialization and Deserialization in Web Development
P
IT graduate 2024. Learning software and web development in public. Writing about bugs, fixes, small projects, useful tools, and lessons from building things step by step.

Introduction

In web development, we do not just create data.

We also need to:

  • store data

  • send data

  • receive data

  • and use it again

This is where an important concept comes in:

serialization and deserialization

These words may sound a little heavy at first.

But the concept is actually quite simple.


Start with the Real Problem

Imagine you have a JavaScript object:

const user = {
  name: "Prash",
  age: 21,
  isStudent: true
};

Now suppose you want to:

  • send this data to a server

  • save it in local storage

  • write it into a file

The problem is:

not every system understands a JavaScript object directly in the same form.

The data needs to be converted into a shareable format.

That is serialization.


What Serialization Means

The simple meaning of serialization is:

converting data into a format that can be stored or transferred

In web development, the most common format is:

JSON

Example:

const user = {
  name: "Prash",
  age: 21
};

const serializedUser = JSON.stringify(user);
console.log(serializedUser);

Output:

{"name":"Prash","age":21}

Now the data has become a string.

That makes it easier to store or send over the network.


What Deserialization Means

Deserialization is the opposite of serialization.

Simple meaning:

converting stored or received data back into a usable form

Example:

const jsonData = '{"name":"Prash","age":21}';
const user = JSON.parse(jsonData);

console.log(user.name);

Here, the string was turned back into a JavaScript object.

That is deserialization.


A Simple Analogy

Think of this topic with a parcel analogy.

  • original object = the actual item

  • serialization = packing the item into a shipping-friendly form

  • transfer/storage = sending or storing the parcel

  • deserialization = opening the parcel and using the real item again

That means the raw object is not sent everywhere directly.

First, it is converted into a travel-friendly format.


Why Web Development Needs This

Serialization and deserialization are very common in real web apps.

Examples:

  • sending JSON from frontend to backend

  • sending responses from backend to client

  • saving data in localStorage

  • handling API payloads

  • storing cached data

If this concept is not clear, JSON-based APIs can feel only half-understood.


The Most Common Example: JSON

JSON is so common in the web world because it is:

  • readable

  • lightweight

  • easy to transfer

  • easy to parse

Typical flow:

const product = {
  id: 1,
  title: "Laptop",
  price: 50000
};

const json = JSON.stringify(product);
const backToObject = JSON.parse(json);

Here:

  • JSON.stringify() = serialization

  • JSON.parse() = deserialization


Serialization in API Communication

When the frontend sends data to the backend, the object usually does not go over the wire in the exact same form.

Conceptually, the flow looks like this:

JavaScript object
-> serialized into JSON
-> sent over network
-> received by server
-> deserialized for use

Example:

const body = {
  email: "hello@example.com",
  password: "secret123"
};

fetch("/login", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify(body)
});

Here, body was stringified before sending.

That is serialization.


Deserialization in API Responses

The same idea applies when a response comes back from the server.

The frontend receives data from the network in a transferable form, and then it is turned into a readable object form.

Conceptually:

Server response
-> JSON data
-> parsed into object
-> app uses it

That is why JSON parsing feels like such a common operation.


Serialization in Local Storage

localStorage is another simple real example.

localStorage stores only strings.

So if you want to save an object, you need to serialize it first.

const settings = {
  theme: "dark",
  language: "en"
};

localStorage.setItem("settings", JSON.stringify(settings));

And when you want it back:

const savedSettings = JSON.parse(localStorage.getItem("settings"));
console.log(savedSettings.theme);

Here again, it is the same story:

  • serialization while saving

  • deserialization while reading


What Problem Does Serialization Solve?

Without serialization, it becomes difficult to reliably transfer or store structured data.

It helps solve:

  • format consistency

  • storage compatibility

  • network communication

  • data exchange between different systems

In simple words:

serialization makes data ready to travel


Common Beginner Confusions

Is JSON the same as a JavaScript object?

No.

A JavaScript object and a JSON string are not the same thing.

One is a usable object, and the other is a text format.

Is JSON.stringify() encryption?

No.

It is not a security feature.

It is only format conversion.

Why not send the object directly?

Because transfer and storage systems usually need a plain, structured, shareable format.

Is deserialization always JSON.parse()?

In basic web development, that is the common case, but the concept is broader than that.

Deserialization means converting incoming stored data into a usable form in any context.


A Small End-to-End Example

Think of a simple signup flow:

  1. the user fills out a form

  2. the frontend creates an object

  3. the object gets converted into JSON

  4. it gets sent to the server

  5. the server reads it and turns it into a usable form

  6. the server sends a response

  7. the frontend parses the response and uses it

That means serialization and deserialization can happen on both sides.


Summary

  • serialization means converting data into a transferable or storable format

  • deserialization means converting that data back into a usable form

  • JSON is the most common format in web development

  • JSON.stringify() is a common example of serialization

  • JSON.parse() is a common example of deserialization

  • this concept is very important in APIs, localStorage, and backend communication


Final Thought

Serialization and deserialization may sound like formal terms, but in reality they are basic building blocks of everyday web development.

Once this becomes clear, JSON handling, API requests, and local storage all start to feel much more natural.


Continue Reading

Backend & Data Exchange

Part 1 of 2

Backend-focused concepts like serialization and the Node.js event loop for deeper server-side understanding.

Up next

Node.js Event Loop Explained Clearly

A beginner-friendly guide to understanding how Node.js stays fast while handling slow work in the background