Cómo formatear JSON
- Pega el JSON —la respuesta de una API, un archivo de configuración, una línea de un log— en el cuadro. Se valida y se formatea en cuanto lo pegas.
- Elige Formatear para obtener un JSON legible con sangría de 2 espacios, 4 espacios o tabulaciones, o Una sola línea para quitar todos los espacios y saltos de línea entre los valores.
- Marca Ordenar claves para poner en orden alfabético las propiedades de cada objeto; así es fácil comparar dos versiones de los mismos datos. Las listas conservan su orden.
- Pulsa Copiar junto al resultado. Si el JSON no es válido, verás el problema, la línea, la columna y la propia línea con una ^ debajo del punto del error.
Qué hacen formatear, minificar y validar
Formatear —también se dice embellecer, indentar o pretty print— pone cada propiedad y cada elemento de lista en su propia línea, con una sangría según el nivel de anidación. Minificar hace lo contrario y deja la forma más compacta. Ninguna de las dos cosas cambia los datos. Validar es comprobar el texto contra el estándar JSON (RFC 8259, la misma gramática que ECMA-404): nombres y textos entre comillas dobles, nada de comas después del último elemento ni de comentarios, true, false y null en minúsculas, y números sin ceros a la izquierda, NaN ni Infinity. Se informa el primer error encontrado.
Muchos formateadores online pasan el texto por JSON.parse de JavaScript y lo vuelven a imprimir. Este lee el texto por su cuenta y conserva cada valor exactamente como está:
- Los números grandes no se redondean. JavaScript solo guarda enteros exactos hasta 9,007,199,254,740,991 (253 − 1). Con
JSON.parse, un ID como 12345678901234567890 se convierte en 12345678901234567000. Aquí se queda igual, y también 199.50 y 1E+2. - Se respeta el orden de las claves. Los objetos de JavaScript ponen primero las claves que parecen números enteros (“1”, “2”), así que
JSON.parselas mueve; aquí el orden solo cambia cuando eliges ordenar. - Los textos se copian carácter por carácter, incluidos escapes como
\u00f1y\/; la ñ y los acentos no se convierten en códigos \u. - Se cuentan las claves repetidas. La RFC 8259 pide nombres únicos dentro de un objeto, porque cada programa decide a su manera cuál de los dos valores gana.
Formatear JSON en una sola línea
Para pegar un JSON en un campo de formulario, una variable de entorno, un comando curl o una celda de Excel, elige Una sola línea. El resultado no tiene saltos de línea ni sangría, pero los espacios y los \n que van dentro de los textos se mantienen, porque son parte de los datos: “Café de Chiapas” no se vuelve “CafédeChiapas”. Para volver a verlo legible, pega la línea y elige Formatear.
Coma decimal y códigos con cero inicial
- Precios con coma. En México se usa el punto decimal, pero en España, Colombia, Argentina, Chile y otros países se escribe 199,50. En JSON el separador decimal es siempre el punto. Dentro de un objeto,
{"precio": 199,50}da el error “Nombre de propiedad sin comillas” en la columna 16, porque tras la coma JSON espera el nombre de otra propiedad. Dentro de una lista,[199,50]es JSON válido con dos números, 199 y 50: pasa la validación, pero el precio queda mal. Tampoco hay separador de miles: escribe1250.00, no1.250,00. - Códigos postales y documentos. Un código postal como 06700 (Ciudad de México) o 08001 (Barcelona) empieza con 0, y JSON no admite ceros a la izquierda:
{"cp": 06700}da “Número no válido”. Guarda códigos postales, teléfonos y números de documento como texto ("06700"), porque no son cantidades.
Validar los RIPS en JSON (Colombia)
Desde la Resolución 2275 de 2023 del Ministerio de Salud, los prestadores de servicios de salud en Colombia reportan los RIPS como archivos JSON que acompañan la factura electrónica, y el Ministerio los revisa con su propio validador. Antes de cargarlos, este formateador sirve para lo básico: comprobar que el archivo sea JSON bien formado (comillas, comas, llaves) y ubicar el error por línea y columna, sin subir datos de pacientes a ninguna parte. Lo que no hace es revisar la estructura ni las reglas de los RIPS —campos obligatorios, códigos, tipos de usuario—; eso solo lo dice el validador oficial del Ministerio.
Errores comunes de JSON y cómo corregirlos
| Error | No válido | Válido |
|---|---|---|
| Coma al final | {"a": 1, "b": 2,} | {"a": 1, "b": 2} |
| Comillas simples | {'nombre': 'Ana'} | {"nombre": "Ana"} |
| Nombre de propiedad sin comillas | {nombre: "Ana"} | {"nombre": "Ana"} |
| Comentario | {"puerto": 80 // web} | {"puerto": 80} |
| Falta una coma | [1 2 3] | [1, 2, 3] |
| Comillas curvas de Word o WhatsApp | {“a”: 1} | {"a": 1} |
| Valores de Python o JavaScript | {"x": None, "y": True, "z": undefined} | {"x": null, "y": true, "z": null} |
| Barra invertida sola | {"ruta": "C:\Users"} | {"ruta": "C:\\Users"} |
| Varios valores seguidos | {"a": 1} {"b": 2} | [{"a": 1}, {"b": 2}] |
Cuando falta un corchete o una llave de cierre, el validador solo lo nota al final, así que “El JSON termina antes de tiempo” señala la última línea, aunque el } o ] olvidado esté mucho más arriba. Lo más rápido para encontrarlo es formatear la parte válida y ver dónde la sangría deja de tener sentido.
Ejemplo: cuánto agrega la sangría
El ejemplo del cuadro es la respuesta en una sola línea de una tienda en línea: 339 bytes, 18 claves y 4 niveles de anidación. En UTF-8, la ñ y las vocales con tilde ocupan 2 bytes. Formateado, pasa a 27 líneas:
| Salida | Tamaño |
|---|---|
| Una sola línea | 339 bytes |
| Tabulación | 455 bytes |
| 2 espacios | 527 bytes |
| 4 espacios | 671 bytes |
La tabulación deja el JSON formateado más pequeño porque cada nivel cuesta un byte. En archivos que la gente lee y edita, la legibilidad suele valer esos bytes de más; el JSON que se envía o se guarda en grandes cantidades conviene minificarlo.
Límites y consejos
- Archivos grandes: un JSON de 1 MB se valida y se formatea en alrededor de un segundo en una laptop común, y el resultado largo se desplaza con fluidez. Para archivos de decenas de megabytes es más cómoda una herramienta de línea de comandos como jq.
- JSON Lines (NDJSON) tiene un valor JSON por línea y no es un único documento. Pega una línea a la vez o envuelve las líneas en
[ ]con comas entre ellas. - JSON5 y el “JSON con comentarios” de algunos archivos de configuración admiten comentarios y comas finales. El JSON estándar no, así que aquí aparecen como errores.
- Solo se muestra el primer error. Corrígelo y, si hay otro, aparece al instante.
- Para cambiar mayúsculas y minúsculas de las claves usa el convertidor de mayúsculas y minúsculas; para comparar dos versiones de un JSON, formatea las dos con las mismas opciones y pásalas por comparar textos.
Tu JSON se queda en tu dispositivo
El formateo y la validación se hacen en tu navegador. Un JSON suele llevar claves de API, tokens o datos de clientes, y nada de eso se sube ni se registra. Tampoco se guarda: al recargar la página, el cuadro queda vacío.
Preguntas frecuentes
¿Mi JSON se envía a un servidor?
No. La página lo formatea y lo valida con JavaScript en tu navegador, así que sirve para datos privados y funciona incluso sin conexión una vez cargada.
¿Cómo paso un JSON a una sola línea?
Elige Una sola línea en Salida. Desaparecen todos los saltos de línea y la sangría entre valores; los espacios dentro de los textos se quedan, porque son parte de los datos.
¿Por qué mi JSON no es válido si funciona en JavaScript?
Los objetos literales de JavaScript permiten cosas que JSON no: nombres sin comillas, comillas simples, comas finales, comentarios, undefined y funciones. JSON es un formato de datos más estricto para que cualquier lenguaje lo lea igual.
¿Qué significa “El JSON termina antes de tiempo”?
El texto se acabó con algo todavía abierto: casi siempre falta una } o un ], o un texto no tiene sus comillas de cierre. También pasa cuando el texto se cortó al copiarlo.
¿Sirve para validar los RIPS en JSON?
Sirve para comprobar que el archivo sea JSON bien formado y encontrar el error de sintaxis por línea y columna, sin subir datos de pacientes. La estructura y las reglas de los RIPS solo las verifica el validador del Ministerio de Salud.
¿Ordenar las claves cambia mis datos?
No. La RFC 8259 define un objeto como una colección no ordenada de pares nombre/valor, así que el orden de las claves no significa nada. Las listas sí tienen orden, por eso sus elementos nunca se ordenan.
Última actualización: 16 de octubre de 2026