UTILS.
100% en el navegador
🗜️

Comprimir y descomprimir Gzip / Zlib / Deflate

Comprime o descomprime texto con los formatos nativos gzip, zlib (deflate) o DEFLATE en bruto en el navegador, con salida base64/hex y la ratio de compresión.

Introduce datos arriba para comprimir o descomprimir.

Acerca de esta herramienta

La herramienta Gzip / Zlib / Deflate comprime y descomprime datos enteramente en tu navegador usando las APIs nativas CompressionStream y DecompressionStream. Elige el formato de contenedor — gzip (el formato .gz con sus bytes mágicos 0x1F 0x8B), zlib/deflate (los datos DEFLATE envueltos en una cabecera zlib) o deflate-raw (DEFLATE desnudo sin cabecera) — y una dirección. La compresión toma tu texto UTF-8 y devuelve los bytes comprimidos codificados como base64 o hex; la descompresión toma base64 o hex y devuelve el texto original.

Como usa la compresión de streaming integrada del navegador, nada se sube y no se carga ninguna biblioteca externa — tus datos permanecen en tu dispositivo. Los tres formatos no son intercambiables: gzip y zlib añaden cabeceras y sumas de verificación diferentes (CRC-32 para gzip, Adler-32 para zlib) alrededor de la misma carga útil DEFLATE, mientras que deflate-raw omite ambas, así que debes descomprimir con el mismo formato con el que comprimiste. Tras comprimir, la herramienta informa del tamaño original, el tamaño comprimido y la ratio de compresión como porcentaje (1 − comprimido / original), que es cuánto más pequeña es la salida.

El texto muy repetitivo se comprime dramáticamente; la entrada corta o ya comprimida puede en realidad crecer debido a la sobrecarga de la cabecera y la suma de verificación, lo cual es normal. Si tu navegador no expone CompressionStream, la herramienta lo dice en lugar de producir una salida incorrecta. Ten en cuenta que la API nativa usa un nivel de compresión predeterminado fijo, así que no hay selector de nivel. Copia el resultado con un clic.

Preguntas frecuentes

¿Cuál es la diferencia entre gzip, zlib y deflate en bruto?
Los tres usan el algoritmo DEFLATE. gzip lo envuelve con una cabecera de 10 bytes, bytes mágicos 0x1F 0x8B y un CRC-32; zlib (deflate) lo envuelve con una cabecera corta y una suma de verificación Adler-32; deflate-raw no tiene cabecera ni suma de verificación. Descomprime con el mismo formato que usaste para comprimir.
¿Qué entrada espera la descompresión?
Pega los datos comprimidos como base64 o hex (coincide con el selector de codificación de salida). La herramienta los decodifica a bytes y los infla con el formato elegido. Si los bytes están truncados o en el formato incorrecto, informa de que los datos no se pudieron descomprimir.
¿Por qué mi texto se hizo más grande tras comprimir?
gzip y zlib añaden bytes de cabecera y suma de verificación, y DEFLATE necesita suficiente repetición para encontrar ahorros. Para entradas muy cortas o ya aleatorias/comprimidas, esa sobrecarga supera cualquier ganancia, así que la salida puede ser más grande — eso es esperado.
¿Puedo elegir el nivel de compresión?
No. La API nativa CompressionStream no expone un parámetro de nivel, así que se usa un nivel predeterminado fijo. La salida sigue siendo un flujo gzip/zlib/deflate totalmente válido que cualquier herramienta estándar (gunzip, zlib, pako) puede descomprimir.

Más herramientas