Formateador y validador de JSON

Convierte JSON comprimido en texto indentado y legible, y localiza los errores de sintaxis por línea y columna. Útil para respuestas de API, webhooks y archivos de configuración.

El resultado aparecerá aquí.

Cómo funciona Formateador y validador de JSON

Convierte JSON comprimido en texto indentado y legible, y localiza los errores de sintaxis por línea y columna. Útil para respuestas de API, webhooks y archivos de configuración.

Entrada JSON
Salida JSON formateado
Trabajos realizados 2.928

Herramientas relacionadas

Guía de uso

Esta herramienta sirve para formatear JSON: toma un bloque comprimido en una sola línea, o editado a mano, y lo devuelve con sangría de dos espacios y una estructura fácil de recorrer. Al mismo tiempo valida la sintaxis; si algo falla, muestra el mensaje del analizador con la línea y la columna donde se detuvo. Todo ocurre en tu navegador, sin enviar los datos a ningún servidor.

Cómo formatear JSON en cuatro pasos

  1. Copia el JSON desde su origen (la respuesta de una API, una línea de log o un archivo) y pégalo en el campo de entrada.
  2. Pulsa el botón para ejecutar la herramienta o usa el atajo Ctrl + Enter (Cmd + Enter en macOS).
  3. Si aparece el resultado indentado, el JSON es válido; si aparece un mensaje de error, ve a la línea y la columna indicadas y corrige.
  4. Copia la salida al portapapeles o descárgala como archivo de texto para guardarla.

Los errores que más se repiten y cómo leerlos

El mensaje lo genera el analizador de JSON del propio navegador, así que su redacción cambia de un navegador a otro y suele estar en inglés. Lo importante es la ubicación: position cuenta caracteres empezando en cero, mientras que line y column empiezan en uno y coinciden con lo que ves en tu editor. Recuerda que el analizador avisa donde notó el problema, que suele estar justo después del fallo real.

  • Coma final: {"precio": 120,} produce Expected double-quoted property name. JavaScript la acepta, JSON no.
  • Comillas simples o claves sin comillas: {'nombre': 'Lucía'} o {nombre: "Lucía"} generan Expected property name or '}'. Pasa lo mismo con las comillas tipográficas que añaden los procesadores de texto.
  • Coma olvidada entre dos campos: el mensaje Expected ',' or '}' after property value señala el inicio del campo siguiente. También aparece si alguien dejó un comentario // pendiente dentro del archivo.
  • Valores que JSON no conoce: undefined, NaN o True con mayúscula dan Unexpected token. Usa null, true o false.
  • Texto recortado: Unterminated string indica que la copia se cortó a la mitad, algo habitual al copiar desde visores de logs que truncan las líneas largas.

Qué cambia (y qué no) al pasar por el formateador

La herramienta no se limita a añadir espacios: interpreta los datos y los vuelve a escribir. El contenido se conserva, pero algunos detalles de escritura pueden variar. Conviene conocerlos antes de pegar el resultado en producción.

EntradaSalidaMotivo
{"id": 12345678901234567890}12345678901234567000Los enteros mayores de 2⁵³ − 1 pierden precisión en JavaScript
{"total": 1.50}1.5Los números se normalizan; el valor es idéntico
{"pais": "Espa\u00f1a"}"España"Las secuencias de escape se resuelven
{"a": 1, "a": 2}"a": 2Con claves duplicadas solo sobrevive la última
{"b": 1, "2025": 0, "2024": 0}"2024", "2025", "b"Las claves con forma de entero pasan al principio en orden ascendente

La primera fila es la más delicada: identificadores largos, como números de pedido o IDs de redes sociales, deben viajar como texto entre comillas. Si llegan como número, cualquier herramienta basada en JavaScript los redondeará.

Situaciones en las que te ahorra tiempo

  • Depurar una API: pega la respuesta que te devolvió la terminal y comprueba de un vistazo qué campo llegó vacío o con un tipo inesperado.
  • Revisar la exportación de una tienda en línea o de un CMS: muchos sistemas exportan pedidos o entradas en un único bloque JSON imposible de leer sin sangría.
  • Validar un archivo de configuración como package.json o composer.json después de editarlo a mano. Ojo: archivos como tsconfig.json usan JSONC, que admite comentarios; aquí darán error aunque funcionen en su entorno.
  • Leer la notificación de una pasarela de pago o de un servicio de envíos para confirmar que trae los campos que tu sistema espera.
  • Preparar el siguiente paso: lleva un array de objetos a una hoja de cálculo con el conversor de JSON a CSV, o abre primero un segmento de token con la herramienta para decodificar Base64. Para ver qué cambió entre dos versiones, formatea ambas y pásalas por comparar textos.

Privacidad y límites

El formateo se hace con JavaScript dentro de tu navegador: el texto que pegas no viaja al servidor y la página solo suma un contador de uso anónimo. Es un detalle importante cuando trabajas con respuestas que incluyen tokens de acceso o datos de clientes. Con entradas muy grandes la pestaña puede tardar unos segundos. Ten en cuenta también que se valida la sintaxis, no el esquema: un campo obligatorio ausente o un número enviado como texto no se marcan como error. Si quieres profundizar, consulta la guía para trabajar con datos JSON o el resto de herramientas para desarrolladores.

Preguntas frecuentes

El significado no cambia: claves, valores y anidación se mantienen y solo se añaden espacios y saltos de línea. Como la herramienta interpreta el JSON y lo vuelve a escribir, hay tres excepciones a vigilar: los enteros enormes se redondean, números como 1.50 se escriben 1.5 y, si una clave aparece dos veces, solo queda la última. Si tu documento no tiene ninguno de esos casos, puedes sustituir el original por la salida sin problema.

Porque un objeto literal de JavaScript no es JSON. JavaScript acepta claves sin comillas, comillas simples, comas finales, comentarios y valores como undefined; JSON exige comillas dobles en todas las claves y solo admite cadenas, números, true, false, null, objetos y arrays. La forma más rápida de obtener JSON válido es ejecutar JSON.stringify sobre el objeto, por ejemplo en la consola del navegador, y pegar aquí ese resultado.

El estándar JSON no admite comentarios, así que el analizador se detendrá en la primera línea que empiece por // o /*. Si el archivo es JSONC, como ocurre con algunos archivos de configuración de editores y compiladores, elimina temporalmente los comentarios y las comas finales antes de pegarlo. Si lo que queda es válido, la estructura del archivo está bien; los comentarios son responsabilidad de la herramienta que lo lee.

Position es la posición del carácter contando desde cero desde el inicio del texto; position 7 equivale al octavo carácter. Line y column empiezan en uno y coinciden con la barra de estado de tu editor de código, así que son la referencia más cómoda. El punto señalado es donde el analizador notó el problema; normalmente el fallo real, como una coma que falta, está justo antes.

No hay un límite fijo: el proceso usa la memoria de tu dispositivo y no depende de una subida al servidor. Con archivos de varias decenas de megabytes, pegar el texto y procesarlo puede tardar unos segundos y la pestaña puede dejar de responder durante ese tiempo. Si solo necesitas revisar una parte, pega únicamente los primeros registros del array; es mucho más rápido y suele bastar para depurar.