Caja de herramientas JSON
Formatear, minificar, escapar y desescapar: todo funciona en tu navegador.
Resultado
Cómo se usa
- Pega JSON o cualquier texto a la izquierda y elige una acción arriba: Formatear, Minificar, Escapar o Desescapar.
- «Sangría» solo afecta a Formatear (2 o 4 espacios). Los resultados formateados aparecen expandidos; usa las flechas junto a cada línea para contraer o expandir objetos y arrays.
- La validación automática indica la línea y la columna cuando encuentra un error; copia o descarga el resultado, y usa el botón ⇄ junto a «Limpiar» para devolverlo a la entrada. Estas acciones usan siempre el resultado completo, aunque haya partes contraídas.
Ejemplo
Entrada
{"usuario":{"id":42,"nombre":"Ada Lovelace","roles":["admin","editor"],"activo":true},"puntuacion":12345678901234567890}
Formateado
{ "usuario": { "id": 42, "nombre": "Ada Lovelace", "roles": [ "admin", "editor" ], "activo": true }, "puntuacion": 12345678901234567890 }
Solo con las reglas por defecto: sangría de 2 espacios y claves en el orden en que las escribiste. La puntuación de 20 dígitos se imprime dígito a dígito; una ida y vuelta por JSON.parse la convertiría en 12345678901234567000.
Reglas, límites y problemas conocidos
- JSON estricto (RFC 8259): se rechazan comentarios, comas finales, comillas simples, claves sin comillas, NaN e Infinity, y el mensaje indica la corrección en lugar de citar el analizador.
- Formatear y Minificar solo cambian los espacios en blanco. Los escapes de cadena, los literales numéricos y las claves entre comillas se imprimen exactamente como se escriben: "\u00e9" sigue siendo "\u00e9", 12345678901234567890 se mantiene exacto, 1e400 no se convierte en null y -0 sigue siendo -0.
- Las claves duplicadas conservan el último valor, como hace JSON.parse, y un aviso nombra la clave. El valor anterior se descarta.
- «Escapar» codifica toda la entrada en un único literal de cadena JSON (las comillas, las barras invertidas y los caracteres de control se escapan; el resto no se toca). «Desescapar» acepta una cadena completa entre comillas (con comprobación estricta) o secuencias de escape sueltas.
- Los números de línea y columna cuentan puntos de código Unicode, así que un emoji ocupa una columna. Solo el espacio, el tabulador, el salto de línea y el retorno de carro cuentan como espacio en blanco; U+3000 o U+00A0 se notifican con su punto de código.
- Límites: 1.000.000 de caracteres y 512 niveles de anidamiento. Si se supera cualquiera de los dos, se muestra un error, nunca un resultado truncado. La carga de archivos solo lee el archivo local: no se sube nada.
- Sin conversión de JSON a YAML/XML/CSV, sin JSON Schema, sin JSONPath, sin editor de árbol, sin parámetros en la URL y sin historial. Todo funciona en tu navegador: no se sube ni se guarda nada.
Herramientas relacionadas
Lo que suele hacer falta después, una vez listo el JSON.