🛠️DevTools

How to Minify JSON

JSON minification removes unnecessary whitespace to reduce file size. This guide covers why and how to minify JSON, with code examples in multiple languages. For JSON basics, see our [JSON Guide](/guides/json).

Try JSON Minifier Tool →

Why Minify JSON?

Minifying JSON provides several benefits:

  • Reduced file size - Typically 20-40% smaller
  • Faster network transfer - Less data to send over APIs
  • Lower bandwidth costs - Especially important at scale
  • Improved performance - Faster parsing in some cases

When to Minify:

  • Production API responses
  • Storing JSON in databases
  • Bundling JSON in web applications
  • Transmitting data over slow networks

When NOT to Minify:

  • Development and debugging
  • Configuration files humans need to edit
  • Version-controlled JSON files

Minify JSON in JavaScript

JavaScript's JSON.stringify() without formatting arguments produces minified output:

javascript
// Minify JSON in JavaScript
const data = {
  name: "John Doe",
  age: 30,
  active: true
};

// Minified output (no spaces)
const minified = JSON.stringify(data);
console.log(minified);
// {"name":"John Doe","age":30,"active":true}

// Compare sizes
const formatted = JSON.stringify(data, null, 2);
console.log(`Formatted: ${formatted.length} bytes`);
console.log(`Minified: ${minified.length} bytes`);
console.log(`Savings: ${Math.round((1 - minified.length/formatted.length) * 100)}%`);

// Minify existing JSON string
function minifyJson(jsonString) {
  return JSON.stringify(JSON.parse(jsonString));
}

// Node.js: Minify JSON file
const fs = require('fs');

function minifyJsonFile(inputPath, outputPath) {
  const data = JSON.parse(fs.readFileSync(inputPath, 'utf8'));
  fs.writeFileSync(outputPath, JSON.stringify(data));
}

Minify JSON in Python

Python's json.dumps() with separators parameter produces compact output:

python
import json

data = {
    "name": "John Doe",
    "age": 30,
    "active": True
}

# Default minified output
minified = json.dumps(data)
print(minified)
# {"name": "John Doe", "age": 30, "active": true}

# Most compact output (no spaces after separators)
compact = json.dumps(data, separators=(',', ':'))
print(compact)
# {"name":"John Doe","age":30,"active":true}

# Minify JSON file
def minify_json_file(input_path, output_path):
    with open(input_path, 'r') as f:
        data = json.load(f)
    with open(output_path, 'w') as f:
        json.dump(data, f, separators=(',', ':'))

# Minify JSON string
def minify_json(json_string):
    return json.dumps(json.loads(json_string), separators=(',', ':'))

Minify JSON in Go

Go's json.Marshal() produces compact JSON by default:

go
package main

import (
    "encoding/json"
    "fmt"
)

type User struct {
    Name   string `json:"name"`
    Age    int    `json:"age"`
    Active bool   `json:"active"`
}

func main() {
    user := User{Name: "John Doe", Age: 30, Active: true}
    
    // json.Marshal produces minified output
    minified, _ := json.Marshal(user)
    fmt.Println(string(minified))
    // {"name":"John Doe","age":30,"active":true}
    
    // Compare with indented
    indented, _ := json.MarshalIndent(user, "", "  ")
    fmt.Printf("Minified: %d bytes\n", len(minified))
    fmt.Printf("Indented: %d bytes\n", len(indented))
}

Command Line Minification

Minify JSON files using command-line tools:

bash
# Using jq (install: brew install jq)
jq -c '.' input.json > output.min.json

# Using Python one-liner
python -c "import json,sys; print(json.dumps(json.load(sys.stdin),separators=(',',':')))" < input.json > output.min.json

# Using Node.js one-liner
node -e "console.log(JSON.stringify(JSON.parse(require('fs').readFileSync(0,'utf8'))))" < input.json > output.min.json

# Minify all JSON files in a directory
for f in *.json; do jq -c '.' "$f" > "${f%.json}.min.json"; done

Frequently Asked Questions

How much space does JSON minification save?

Typically 20-40% depending on the original formatting. Heavily indented files with many nested objects save more.

Does minification affect the data?

No, minification only removes whitespace. All data, values, and structure remain identical.

Should I minify JSON in my database?

It depends. Minification saves storage space but makes debugging harder. Many databases compress data anyway.

Can minified JSON be formatted again?

Yes! Use our JSON Formatter tool or JSON.stringify(data, null, 2) to add formatting back.

Try the JSON Minifier Tool

Now that you understand how it works, try encoding and decoding with our free online tool.

Open JSON Minifier

Last updated: 2026-03-15