# How to pretty-print a JSON object with JavaScript

By Atta Ur Rehman Shah (https://attacomsian.com/about). Published Mar 31, 2020, updated Oct 15, 2022. Topics: JavaScript.
Canonical URL: https://attacomsian.com/blog/javascript-pretty-print-json

> A quick article to learn how to pretty-print a JSON object by adding spaces and line breaks with vanilla JavaScript.

In this article, you'll learn how to use the [`JSON.stringify()`](https://attacomsian.com/blog/json-parse-stringify#jsonstringify) method to pretty-print a JSON [object](https://attacomsian.com/blog/objects-prototypes-classes-javascript#objects) in JavaScript.

The `JSON.stringify()` method accepts up to three parameters: the [JSON](https://attacomsian.com/blog/what-is-json) object, a replacer, and space. Only the JSON object is required. The remaining two parameters are optional.

To improve the JSON string readability, pass a number as the 3rd argument representing the total white spaces to insert. The white space count must be between 0 and 10:

```javascript
const obj = {
  name: 'Atta',
  profession: 'Software Engineer',
  country: 'PK',
  skills: ['Java', 'Spring Boot', 'Node.js', 'JavaScript']
}

// serialize JSON object
const str = JSON.stringify(obj, null, 4)

// print JSON string
console.log(str)
```

The above example will serialize the JSON object to the following string:

```json
{
    "name": "Atta",
    "profession": "Software Engineer",
    "country": "PK",
    "skills": [
        "Java",
        "Spring Boot",
        "Node.js",
        "JavaScript"
    ]
}
```

As you can see above, the serialized JSON string is formatted and more human-readable. 

Here is what the output JSON string looks like when you omit the space parameter:

```json
{"name":"Atta","profession":"Software Engineer","country":"PK","skills":["Java","Spring Boot","Node.js","JavaScript"]}
```

Read [this guide](https://attacomsian.com/blog/json-parse-stringify) to learn more about JSON data parsing and serialization in JavaScript.
