Formateador, validador y minificador de JSON
Pega tu JSON: la herramienta lo comprueba al instante, señala el error exacto con una explicación y te da el resultado formateado o minificado, listo para copiar. No se sube nada.
Cómo se calcula
Qué comprueba la herramienta
Las reglas proceden de la RFC 8259, el estándar de internet para JSON (equivalente a ECMA-404). La herramienta lee tu texto carácter a carácter con su propio analizador y se detiene en la primera infracción. El mensaje indica la línea y la columna, marca el punto con un ^ y explica qué está mal. Es idéntico en todos los navegadores, porque los mensajes del JSON.parse integrado varían de un navegador a otro y a menudo no ayudan («Unexpected token»).
Los errores de JSON más frecuentes
- Coma final tras el último elemento:
{"a": 1,}. Vale en JavaScript, pero no es JSON válido. - Comillas simples o claves sin comillas:
{'a': 1},{a: 1}. Lo correcto es{"a": 1}. - Comentarios (
//,/* */): no existen en JSON. - Valores de JavaScript o Python:
undefined,NaN,Infinity,True,None. Solo se permitentrue,falseynull. - Números: sin cero a la izquierda (
012), sin+1, sin.5ni5., sin hexadecimal (0x1F). El separador decimal es siempre el punto, nunca la coma. - Cadenas: un salto de línea o un tabulador se escriben como
\no\t, y una barra invertida suelta como\\(típico en rutas de Windows). - Caracteres invisibles: un espacio de no separación (U+00A0) copiado de Word o de una web no cuenta como espacio en blanco en JSON.
Formatear, minificar, ordenar
La salida se reconstruye a partir del contenido validado: Formatear sangra cada nivel con 2 o 4 espacios o un tabulador; Minificar elimina todos los espacios opcionales (archivo más pequeño). Números y cadenas se conservan exactamente como están escritos: a diferencia de JSON.parse + JSON.stringify, 1.0 no se convierte en 1 y 12345678901234567890 no se redondea. Ordenar clasifica las claves por unidades de código Unicode, como el JSON Canonicalization Scheme (RFC 8785): mayúsculas antes que minúsculas y letras acentuadas (á, ñ…) después de ambas.
Advertencias en lugar de errores
Las claves duplicadas en un mismo objeto no están prohibidas por la RFC 8259, pero no son fiables: la mayoría de los programas solo conserva el último valor. Una marca de orden de bytes (BOM) al principio puede ignorarse; la herramienta la ignora y te avisa.
Límites
La herramienta comprueba la sintaxis, no el significado: si faltan campos obligatorios o los tipos son incorrectos lo determina un JSON Schema. Las columnas cuentan caracteres Unicode empezando por 1 (un tabulador = 1 carácter); los editores con ancho de tabulación 4 muestran una columna mayor. La entrada admite hasta 5 millones de caracteres y 1000 niveles de anidamiento.
Preguntas frecuentes
¿Se sube o se guarda mi JSON?
No. La validación y el formateo se hacen por completo en tu navegador. El texto no se añade a la dirección de la página ni se guarda; solo las opciones (salida, sangría, orden) forman parte del enlace.
¿Por qué no se permiten comentarios ni comas finales?
JSON es minimalista a propósito para que todos los lenguajes de programación lo lean igual. Los comentarios y las comas finales pertenecen a extensiones como JSON5 o JSONC (usado, por ejemplo, en la configuración de VS Code); como JSON puro, esos archivos no son válidos.
Mi JSON es válido, pero el programa lo rechaza igualmente. ¿Por qué?
Normalmente el contenido no coincide con lo que espera el programa: falta un campo obligatorio, hay un número en lugar de una cadena o la estructura es otra. Eso lo describe un JSON Schema o la documentación de la API. Revisa también la advertencia sobre claves duplicadas.
¿La línea y la columna coinciden con mi editor?
Las líneas, siempre. Las columnas cuentan caracteres empezando por 1; un tabulador cuenta como un carácter, igual que un emoji. Los editores que muestran el tabulador como 4 columnas indicarán un número mayor. «Ir al error» coloca el cursor justo en ese punto.
¿Cómo encuentro el problema tras un «final inesperado»?
Casi siempre falta una } o ] de cierre o unas comillas. El mensaje indica la línea del corchete o la llave que nunca se cierra: revisa primero el final de ese bloque.
Fuentes y base legal
- STD 90, §§ 2–9: IETF RFC 8259 – The JavaScript Object Notation (JSON) Data Interchange Format
- ECMA-404 – The JSON Data Interchange Syntax, 2nd edition
- § 3.2.3: IETF RFC 8785 – JSON Canonicalization Scheme (Sortierung der Schlüssel)
- JSONTestSuite (Nicolas Seriot) – Testfälle für JSON-Parser
Última actualización:
Herramientas relacionadas
- Validador de XML y CSV onlineComprueba si tu XML está bien formado y valida CSV según la RFC 4180: errores con línea y columna, separador detectado y vista previa. Sin subir nada.
- Probar regex: tester de expresiones regularesPrueba expresiones regulares de JavaScript en vivo: coincidencias resaltadas, grupos de captura en tabla y el patrón explicado. Gratis, sin subir nada.
- Codificar y decodificar Base64Codifica y decodifica Base64 y Base64url con UTF-8 correcto, y también URL encode/decode (codificación por porcentaje). Errores claros, todo en tu navegador.
- Generador de hash: SHA-256, SHA-512, SHA-1, MD5Calcula hashes SHA-256, SHA-384, SHA-512, SHA-1 y MD5 de textos o archivos y verifica sumas de comprobación, en tu navegador, sin subir nada y gratis.
- Generador de UUID: crea y valida UUID v4 y v7Genera UUID en línea: versión 4 (aleatoria) o versión 7 (ordenada por tiempo), hasta 1000 a la vez. Valida un UUID y lee su versión, variante y fecha.
- Conversor de timestamp UnixConvierte un timestamp Unix a fecha y al revés: detecta segundos, milisegundos, micro y nanosegundos; muestra UTC, hora local, ISO 8601 y más formatos.