JSON Minify

Quite los espacios del JSON y vea exactamente cuántos bytes ahorró

JSON

Minificado

JSON Minify

Quite los espacios del JSON y vea exactamente cuántos bytes ahorró

Características

  • Minificación en una llamada vía JSON.parse + JSON.stringify — pasa por un parser real, así una entrada sintácticamente inválida falla rápido con el mensaje exacto del motor JavaScript
  • Estadísticas de tamaño con precisión de bytes: TextEncoder.encode().length mide bytes UTF-8 (no conteo de caracteres), así caracteres multibyte y emoji se pesan correctamente
  • La línea de ahorro muestra el delta absoluto en bytes y el porcentaje del tamaño de entrada — coincide con lo que una carga útil minificada-luego-gzipeada se verá en el cable
  • El botón Copiar cambia a ¡Copiado! durante 1,5 s tras el clic, confirmando claramente que la escritura al portapapeles tuvo éxito — sin fallos silenciosos
  • El botón Descargar emite un Blob `minified.json` con MIME application/json, listo para soltar en un cuerpo de petición HTTP o commitear a una carpeta de fixtures
  • Los errores de parseo afloran con el mensaje completo del motor JS (línea/columna cuando el parser las provee) para pinpoint del carácter ofensor en lugar de adivinar
  • Puramente del lado cliente: la entrada nunca sale del navegador, sin telemetría, sin subida. La llamada minify es síncrona e instantánea para configs típicos (JSON sub-megabyte)
  • La salida preserva el orden de claves y la representación numérica exacta — JSON.stringify no re-codifica enteros como floats ni cambia escapes Unicode, así la salida minificada es byte-equivalente a lo que reparsearía un consumidor estricto

Cómo usar

  1. Pegue su JSON en el panel de entrada a la izquierda.
  2. Pulse Minificar. La herramienta ejecuta JSON.parse para validar, luego JSON.stringify sin argumento de indentación para eliminar todo espacio en blanco insignificante.
  3. Lea la fila de estadísticas: bytes de entrada, bytes de salida y bytes/porcentaje ahorrados — útil para decidir si la minificación vale el sacrificio en legibilidad.
  4. Pulse Copiar para poner la cadena minificada en su portapapeles, o Descargar para guardarla como `minified.json`.
  5. Si la entrada era inválida, una fila de error roja mostrará el mensaje de parseo del motor JS — corrija el JSON y vuelva a pulsar Minificar.

Consejos y buenas prácticas

  • Si minifica principalmente para encajar en un presupuesto bundle, habilite también gzip en su pipeline de assets estáticos de CI — JSON pretty gzipeado suele ser más pequeño que minificado-sin-comprimir.
  • Mantenga el JSON pretty-print original en control de fuente; minifique en un paso de build en lugar de commitear la versión minificada.
  • Para JSON muy grande (10 MB+) el paso TextEncoder sigue siendo rápido, pero el par JSON.parse + JSON.stringify pica memoria brevemente — bien en una pestaña de navegador, problemático en un service worker hot path.
  • Si su JSON contiene números cerca del límite safe-integer de JS (2^53), tenga en cuenta que JSON.parse los convierte a doubles — minify no cambia eso, pero vale la pena saberlo antes de depurar un mismatch de precisión.
  • Use Descargar para soltar el fichero minificado en un directorio de fixtures; emparéjelo después con JSON Diff si necesita confirmar que el round-trip preservó todo.

Preguntas frecuentes

¿Cuánto se reducirá mi JSON?

Depende totalmente de cuánto espacio en blanco había para empezar. Una config muy pretty-printed (indent 2 espacios, alineación de claves, saltos de línea finales) suele reducir 30–50 %. Un JSON ya en una línea reduce 0 %. La fila de estadísticas reporta el número exacto — pruebe en sus datos antes de comprometerse con la versión minificada.

¿Debería minificar JSON en producción?

Generalmente no, porque la compresión gzip/brotli ya aplasta espacios repetidos a unos pocos bytes. La minificación ayuda cuando (1) no puede habilitar compresión en el transporte (algunos targets embebidos), (2) está incrustando el JSON en un bundle JS donde cada byte cuenta contra el presupuesto bundle, o (3) está optimizando IndexedDB/localStorage donde no hay compresión de transporte.

¿Esto cambia mis datos de alguna forma?

No. JSON.parse + JSON.stringify es un viaje de ida y vuelta por la spec JSON de JavaScript, que es un subset estricto de ECMAScript. Números, strings, booleanos, null, arrays y objetos salen todos byte-equivalentes a un reparseo válido. La única diferencia es espacios y orden de claves (JSON.stringify mantiene el orden de inserción original de un literal de objeto).

¿Cómo se cuentan los bytes?

Vía TextEncoder().encode().length, que da la longitud en bytes UTF-8. ASCII puro es un byte por carácter; é son dos bytes; la mayoría de caracteres CJK tres; la mayoría de emoji cuatro. Contar la longitud de string JavaScript (unidades de código) sobre-reportaría ASCII y sub-reportaría caracteres del plano suplementario; TextEncoder da el número que coincide con lo que va por el cable.

¿Por qué Minify falla en mi entrada?

JSON.parse es estricto: sin comas finales, sin comentarios, sin comillas simples alrededor de strings, sin claves sin comillas. Si trabaja con JSON relajado (JSON5, JSONC) el parser lanzará — preprocese con un parser relajado primero, o use el modo JSONC de JSON Formatter para limpiarlo. La fila de error muestra el mensaje del motor, a menudo incluyendo la línea/columna que rompió.

¿Se envía algo a un servidor?

No. Ambos paneles permanecen en su navegador; la minificación corre síncronamente en el mismo contexto JavaScript que renderizó la página. La pestaña Red de DevTools no muestra peticiones al pulsar Minificar. La página funciona sin conexión tras el primer carga.

¿El JSON minificado sigue siendo diff-friendly?

Menos. Un fichero JSON pretty-print diffea línea a línea y los revisores ven exactamente qué clave cambió. Un fichero JSON minificado es una línea gigante — una edición de un solo carácter aparece como reemplazo de línea entera en `git diff`. Mantenga las fuentes pretty-printed; minifique solo para transporte o almacenamiento.

¿En qué se diferencia de JSON Formatter?

JSON Formatter tiene un botón Minify junto a Pretty-Print más vista de árbol, JSONPath, JSONC, validación de esquema y diff. Esta herramienta es la versión ligera de un solo propósito: pegar, minificar, copiar, descargar — sin paneles, sin modos, solo bytes ahorrados.