← Todos los artículos

JSON Pretty Print vs JSON Format: ¿cuál es la diferencia?

Pretty print, format y beautify significan lo mismo para JSON. Aprende qué cambia de verdad (minify, validate, tree view) y cómo hacerlo.

Respuesta corta: en JSON, «pretty print» y «format» son lo mismo —— y «beautify» también. Los tres significan añadir indentación coherente y saltos de línea para que la estructura sea legible, sin cambiar los datos. Eso sí, la confusión existe porque algunas operaciones sí distintas (minify, validar, vista de árbol) están al lado. Esta guía aclara la terminología y muestra lo que realmente difiere.

Pretty Print, Format, Beautify —— La misma operación

«Pretty print JSON», «format JSON» y «beautify JSON» describen la misma operación: tomar un valor JSON (a menudo una cadena compacta de una sola línea) y re-serializarlo con indentación y saltos de línea. La salida es semánticamente idéntica a la entrada —— cualquier parser produce los mismos datos a partir de cualquiera de las formas, porque el espacio en blanco entre tokens no es significativo en JSON.

// Compacto (lo que devuelve una API)
{"user":{"name":"Ada","roles":["admin","editor"]}}

// Pretty-printed / formatted / beautified —— datos idénticos
{
  "user": {
    "name": "Ada",
    "roles": [
      "admin",
      "editor"
    ]
  }
}

Así que si una herramienta ofrece «Format», «Beautify» y «Pretty Print» como botones distintos, hacen el mismo trabajo. No hay distinción técnica útil que aprender.

¿Y qué es lo que sí cambia?

Las distinciones útiles no están entre pretty-print y format —— están entre formatear y estas operaciones vecinas:

Operación Qué hace ¿Cambia los datos?
Pretty print / format / beautify Añade espacios para hacerlo legible No
Minify Quita espacios para reducir el tamaño No
Validar Comprueba que el JSON sea sintácticamente correcto No
Vista de árbol Renderiza una estructura interactiva y plegable No
Reparar Arregla JSON inválido (comillas, comas) para que pueda parsearse Sí (corrige sintaxis)

Minify es el opuesto exacto de pretty print —— ver Cómo minificar JSON. La validación es una comprobación aparte (Cómo validar JSON), y explorar payloads grandes como árbol es otra cosa (Visor de árbol JSON). Si tu entrada ni siquiera parsea, antes de formatear necesitas reparar.

Cómo hacer pretty print de JSON

La mecánica es la misma, llame como llame el botón:

// JavaScript —— el tercer argumento es la indentación
JSON.stringify(value, null, 2);                 // desde un valor
JSON.stringify(JSON.parse(raw), null, 2);       // desde una cadena JSON

# Python
import json
json.dumps(data, indent=2)

# Línea de comandos
jq . data.json                                  // jq hace pretty-print por defecto
python3 -m json.tool data.json

Para el recorrido completo —— ordenar claves, opciones de CLI, convertir otros formatos —— ver Cómo formatear JSON.

Pretty print de JSON online

Para hacer pretty-print sin escribir código, pega tu JSON en JSON Fix: formatea con indentación consistente de 2 espacios (y antes repara los errores comunes, así funciona aunque el JSON no sea del todo válido), todo en tu navegador y sin subir nada. ¿Prefieres una vista interactiva de un documento grande? Usa el JSON Viewer.

Preguntas frecuentes

¿Es «pretty print JSON» lo mismo que «format JSON»?

Sí. En JSON, pretty print, format y beautify significan lo mismo: añadir indentación y saltos de línea para mejorar la lectura sin cambiar los datos.

¿El pretty print cambia mis datos JSON?

No. El espacio en blanco entre tokens no es significativo en JSON, así que las formas pretty-printed y compacta se parsean a la misma estructura de datos.

¿Cómo hago pretty print de JSON en JavaScript?

Usa JSON.stringify(value, null, 2) —— el tercer argumento define la indentación (2 espacios, 4 espacios o '\t' para tabs). Parsea primero si partes de una cadena.

¿Cuál es lo opuesto a pretty print de JSON?

Minificar —— quitar todo el espacio en blanco insignificante para producir JSON compacto en una sola línea. Ver Cómo minificar JSON.

¿Formatear JSON cambia el orden de las claves?

No, salvo que se lo pidas. El formateo conserva el orden de las claves tal cual, y tanto los objetos de JavaScript como los dicts de Python (3.7+) mantienen el orden de inserción. Ordenar las claves alfabéticamente es un paso aparte y opcional (JSON.stringify con un replacer personalizado, o json.dumps(..., sort_keys=True)).

¿Debo usar 2 o 4 espacios para hacer pretty print de JSON?

Cualquiera —— es una cuestión de estilo, no de corrección. Dos espacios es el valor por defecto más común; cuatro es habitual en Python y Java. La indentación es espacio en blanco insignificante, así que cualquier opción se parsea a los mismos datos. Elige una y aplícala de forma consistente en todo el proyecto.

Herramientas y guías relacionadas

Fuentes

  • RFC 8259 §2 — gramática JSON (la afirmación canónica de que el espacio en blanco insignificante puede aparecer entre dos tokens cualesquiera)
  • MDN — JSON.stringify (el parámetro space que controla la indentación del pretty-print)
  • Python — json.dumps (el equivalente en la biblioteca estándar, con el argumento indent)
  • Manual de jq (el procesador JSON de línea de comandos por excelencia; hace pretty-print por defecto)

Última revisión: junio de 2026.