Descomprimir GZIP

Pega gzip en Base64 y obtén texto UTF-8 localmente.

{{ gzipUnpack.message }}

Descripción

La compresión de datos moderna tiene dos fechas fundacionales: 1977, cuando Abraham Lempel y Jacob Ziv publicaron el algoritmo LZ77 en el IEEE Transactions on Information Theory, y 1978, cuando publicaron el LZ78. Esos dos artículos definieron la base teórica de prácticamente toda la compresión sin pérdida que usamos hoy. DEFLATE — el algoritmo que hay dentro de todo archivo gzip — fue creado por Phil Katz en 1989 para su programa PKZip, combinando LZ77 con codificación de Huffman. La historia de Phil Katz es una de las más trágicas de la informática: revolucionó la distribución de software al hacer accesible el intercambio de archivos comprimidos en BBS y disquetes, pero murió solo en la habitación de un motel en abril de 2000 con tan solo 37 años, tras años de batallas judiciales con PKWARE. El formato GZIP en sí — RFC 1952, publicado en 1996 por Jean-Loup Gailly y Mark Adler — se creó específicamente como alternativa libre al `compress` de Unix, que usaba el algoritmo LZW protegido por una patente de Unisys. Cuando esa patente expiró en 2003, el gzip ya era el estándar consolidado de la web.

Hoy el GZIP está presente en prácticamente toda comunicación HTTP. Cuando el navegador realiza una petición, envía la cabecera `Accept-Encoding: gzip, deflate, br`, informando al servidor de que acepta respuestas comprimidas. El servidor responde con `Content-Encoding: gzip` y envía el contenido comprimido. Para archivos de texto — HTML, CSS, JavaScript, JSON — el ahorro es impresionante: una respuesta de 100 KB normalmente se reduce a entre 15 y 25 KB, una reducción de entre el 75 y el 85 %. Nginx lo habilita con una sola línea de configuración. Las CDN como Cloudflare aplican la compresión automáticamente. Node.js incluye el módulo `zlib` integrado para trabajar con gzip en streams. La biblioteca `zlib` original de Gailly y Adler, de 1995, es probablemente el software de código abierto con más instancias en ejecución en el mundo: está integrado en navegadores, sistemas operativos, consolas de videojuego, cámaras digitales y dispositivos IoT.

Esta herramienta existe para el momento en que necesitas inspeccionar el contenido de un dato gzip sin instalar nada. Situaciones típicas: una respuesta de API llegó comprimida pero el cliente HTTP no la descomprimió automáticamente, y tienes los bytes en bruto como Base64 en el registro; un archivo `.gz` que quieres comprobar rápidamente sin usar gunzip; un protocolo binario — como snapshots de Elasticsearch, payloads de WebSocket o formatos de mensaje de Minecraft — que usa gzip internamente y quieres ver el JSON que contiene. El Base64 es necesario porque los navegadores no pueden pegar bytes binarios puros en un cuadro de texto: codificar primero los bytes en Base64 los convierte en texto ASCII puro que puede pegarse y procesarse. La API `DecompressionStream`, disponible en todos los navegadores modernos desde 2022, realiza la descompresión real en el propio navegador sin enviar nada a ningún servidor.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Flujo — gzip -c arquivo.txt | base64 → cole aqui → texto

Guía de la herramienta

  • Qué es GZIP Formato de compresión muy usado en HTTP, logs y archivos .gz.

  • Qué hace la herramienta Recibe bytes comprimidos en Base64, descomprime con la API del navegador e intenta mostrar texto UTF-8.

  • Por qué usarla Inspeccionar un .gz sin consola cuando el contenido es mayormente texto.

Fragmentos de Código

Ejemplo de código
gzip -c arquivo.txt | base64 → cole aqui → texto

Flujo

gzip -c arquivo.txt | base64 → cole aqui → texto

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.