Minificar JSON
Comprima unos datos sangrados a la forma más pequeña que sigue significando lo mismo: en el ejemplo, cuatro líneas con a, b y una lista corta vuelven como una sola línea sin ningún espacio, con todos los nombres y valores intactos. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.
quita espacios, gratis en la web
De dónde salen los bytes de más
Los datos que se ven bien en un editor, con sangría de dos espacios, un salto de línea tras cada entrada y una línea en blanco entre secciones, llevan peso muerto en cuanto salen del lugar donde se escribieron. Un archivo de configuración, una respuesta guardada en una caché cercana a los visitantes o los datos incluidos en una aplicación móvil pagan ese formato: más bytes que transferir, más bytes que leer y más bytes ocupando espacio. Ninguno de esos espacios cambia lo que significan los datos, así que quitarlos no cuesta nada y ahorra espacio allí donde vayan.
Qué hace la minificación, paso a paso
Primero se lee el texto completo para confirmar que es válido. Después se vuelve a escribir sin ningún espacio prescindible: sin sangrías, sin saltos de línea y sin espacio tras los dos puntos o las comas, de modo que toda la estructura cabe en una línea compacta mientras cada nombre, valor y nivel sigue exactamente en su sitio. En el ejemplo, cuatro líneas sangradas se convierten en una sola. Guarde la versión legible como fuente, porque la compacta está pensada para las máquinas, y siempre podrá volver a ordenarla para las personas con un formateador.
Preguntas frecuentes
¿Cuánto se reduce el archivo?
Depende de cuánto espacio en blanco tenía el original; un archivo muy indentado y anidado suele reducirse notablemente, mientras que uno ya compacto ve una reducción menor.
¿Minificar cambia mis datos?
No. Cada nombre, cada valor y cada nivel de anidación quedan exactamente igual; solo desaparecen las sangrías, los saltos de línea y los espacios tras los dos puntos y las comas. En el ejemplo, a sigue valiendo 1 y b sigue guardando la lista con 1 y 2.
¿Se pueden volver legibles unos datos minificados?
Sí. Al quitar los espacios no se pierde nada, así que basta con volver a darle formato a la línea compacta para recuperar una versión sangrada y legible. Conserve la versión legible como copia de trabajo y publique la compacta.
¿Comprueba que mis datos son válidos?
Sí. Primero se lee el texto completo con el mismo rigor que un programa y solo se compactan datos válidos. Unos datos rotos, como una comilla que falta o una coma suelta, se señalan en lugar de quedar comprimidos en una línea rota.
¿Cuándo merece la pena minificar datos?
Siempre que los datos viajen o se guarden muchas veces: un archivo de configuración, una respuesta guardada en caché o los datos incluidos dentro de una aplicación móvil. Todos pagan cada byte de más al transferirse, leerse y almacenarse.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/data/json-minify \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"json":{"a":1}}'const res = await fetch("https://api.kit.forhosting.com/data/json-minify", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"json": {
"a": 1
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/json-minify",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"json": {
"a": 1
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/json-minify", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"json":{"a":1}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"json":{"a":1}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/json-minify", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"json": {
"a": 1
}
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.json_minify",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 25 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Cada espacio, salto de línea o tabulación que queda dentro de un archivo JSON es un byte que viaja por la red sin ninguna razón funcional, y a escala eso se traduce en costo real de ancho de banda y de análisis. Esta API para minificar JSON elimina todo eso en una sola llamada, convirtiendo un archivo de desarrollo bien indentado en el JSON válido más pequeño que representa los mismos datos.
El costo de publicar JSON bonito
Nada de ese espacio en blanco cambia el significado de los datos, así que quitarlo es pura ganancia. Un JSON que se ve muy bien en el editor — sangría de dos espacios, salto de línea después de cada propiedad, línea en blanco entre secciones — carga un peso muerto considerable en cuanto sale del entorno de desarrollo. Un archivo de configuración, una respuesta de API estática cacheada en el borde o el payload de datos empaquetado en una app móvil pagan un costo real por ese formato: más bytes que transferir, más bytes que analizar y más bytes ocupando una caché de entrega de contenido.
Qué ocurre al llamar al endpoint
Llama a POST /data/json-minify y recibe un task_id de inmediato, ya que la minificación corre de forma asíncrona. El servicio analiza su JSON para confirmar que es válido y luego lo vuelve a serializar sin ningún carácter de espacio no esencial — sin sangría, sin saltos de línea, sin espacio después de dos puntos o comas — colapsando toda la estructura en una sola línea compacta mientras conserva intacta cada clave, valor y nivel de anidamiento.
Por qué minificar se volvió práctica estándar
Cuando JSON reemplazó a XML como formato por defecto para intercambiar datos en la web, los desarrolladores heredaron una lección ya aprendida con CSS y JavaScript: el formato del código fuente es para humanos y el formato de lo que se publica es para máquinas, y confundir ambos desperdicia ancho de banda sin ganar legibilidad una vez que el código está en producción. Las herramientas de minificación para JSON surgieron por la misma razón que existen minificadores para esos otros formatos — los datos nunca necesitaron el espacio en blanco, solo la persona que los editaba.
Dónde encaja la minificación en una tubería
Mantenga la versión legible y formateada en su repositorio de código fuente y genere la versión minificada como un paso de compilación, para que los desarrolladores siempre trabajen con algo legible mientras producción solo ve la forma compacta. Use este paso en el último momento posible antes de que los datos salgan de su sistema: justo antes de cachear una respuesta de API, incrustar un payload JSON dentro de una página HTML, guardar un snapshot compacto o enviar el cuerpo de un webhook donde cada byte cuenta contra un límite de tamaño.
Entrega, precio y estado
El JSON minificado se entrega por un webhook firmado, recomendado para tuberías de compilación, o un enlace firmado válido durante 24 horas; el origen y la salida se eliminan tras la ventana de retención y nunca se usan para entrenar modelos. El precio es un fijo de $0.002 por solicitud sin importar el tamaño de entrada, y una tarea fallida — por ejemplo, un JSON mal formado que no se puede analizar — nunca se cobra tras los tres reintentos estándar. Este endpoint está activo ahora.
Casos de integración
Reducir respuestas de API cacheadas
Minifique las respuestas JSON antes de cachearlas en el borde, recortando el tamaño de transferencia para cada cliente que llega a la caché sin cambiar un solo valor.
Reducir el peso del paquete de una app móvil
Quite el espacio en blanco de la configuración o los archivos JSON de localización antes de empaquetar una versión móvil, recortando el tamaño de descarga en cada instalación.
Ajustar payloads a límites de tamaño de webhook
Minifique el cuerpo de un webhook saliente antes de enviarlo a un endpoint de terceros con un límite estricto de tamaño de payload, evitando entregas rechazadas.
Compactar datos antes de incrustarlos en HTML
Minifique un bloque JSON antes de insertarlo dentro de una etiqueta script en una página renderizada por el servidor, manteniendo el peso de la página bajo sin tocar los datos.
Preguntas técnicas
¿Cómo minifico un JSON con una API?
Envíe su cuerpo JSON a POST /data/json-minify, que devuelve un task_id de inmediato; el resultado compactado llega a su webhook firmado o a un enlace firmado cuando termina la tarea.
¿La API para minificar JSON es gratis?
La herramienta de arriba es gratis en su navegador. La API es de pago: cada llamada se descuenta de su saldo prepago de ForHosting KIT — se recarga desde $10.00 (no caduca), se paga el precio publicado de cada solicitud, y una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens, y una tarea fallida no se cobra.
¿Minificar el JSON cambia los datos en sí?
No. Solo se elimina el espacio en blanco — sangría, saltos de línea y espacios alrededor de la puntuación — mientras cada clave, valor y nivel de anidamiento se mantiene exactamente como se analizó.
¿Puedo minificar payloads JSON muy grandes?
Sí, dentro de los límites de tamaño publicados para el endpoint; como el precio es una tarifa fija por solicitud, el costo se mantiene predecible sin importar qué tan grande sea un payload válido.
¿Qué pasa si mi JSON es inválido?
La tarea falla con un error de análisis claro tras los tres reintentos estándar, y no se le cobra por ella.
¿Puedo minificar JSON por lotes?
Sí. Cada solicitud es una tarea asíncrona independiente, así que puede enviar lotes grandes en paralelo y recoger cada resultado minificado por webhook a medida que termina.
¿Debo conservar una copia formateada de mi JSON?
Sí — conserve la versión legible e indentada en su repositorio de código fuente y genere la versión minificada como un paso de compilación o despliegue, para que los desarrolladores sigan trabajando con algo legible.