Compresor y Descompresor GZIP - Codificador Base64 GZIP en Línea
Comprime y descomprime texto o archivos usando GZIP con salida Base64. Estadísticas de compresión, descarga de archivos .gz — 100% del lado del cliente.
Preguntas Frecuentes
¿Qué es la compresión GZIP?
GZIP es un formato de archivo y algoritmo de compresión basado en el algoritmo DEFLATE (una combinación de LZ77 y codificación Huffman). Es el formato de compresión más utilizado en la web — prácticamente todos los servidores y navegadores HTTP lo soportan a través del encabezado Content-Encoding: gzip.
¿Cómo uso esta herramienta?
Seleccione la pestaña Comprimir o Descomprimir. Para comprimir, ingrese texto o arrastre un archivo, y la salida comprimida aparecerá como una cadena codificada en Base64 que puede copiar o descargar como archivo .gz. Para descomprimir, pegue una cadena GZIP en Base64 o suelte un archivo .gz.
¿Mis datos están seguros?
Sus datos están 100% seguros y nunca salen de su navegador. Toda la compresión y descompresión se realiza completamente del lado del cliente usando las APIs nativas CompressionStream y DecompressionStream del navegador. No se transmiten datos a ningún servidor.
¿Cuál es la diferencia entre GZIP y Deflate?
GZIP y Deflate usan el mismo algoritmo de compresión subyacente (DEFLATE, RFC 1951). La diferencia es el envoltorio: GZIP agrega un encabezado de 10 bytes y un pie de 8 bytes alrededor de los datos comprimidos con Deflate.
¿Por qué mi salida comprimida es más grande que la entrada?
GZIP agrega una sobrecarga de 18 bytes (encabezado de 10 bytes + pie de 8 bytes) más metadatos de compresión Deflate. Para cadenas muy cortas (típicamente menos de 50-100 bytes), la sobrecarga excede los ahorros de compresión. GZIP es más efectivo en textos grandes con patrones repetitivos.
¿Qué es GZIP codificado en Base64?
GZIP codificado en Base64 es el resultado de comprimir datos con GZIP y luego codificar los bytes binarios como una cadena ASCII Base64. Se usa comúnmente para almacenar datos comprimidos en campos JSON/XML y transmitir datos a través de protocolos de solo texto.
¿Qué navegadores soportan esta herramienta?
Esta herramienta usa las APIs CompressionStream y DecompressionStream, soportadas en Chrome 80+, Edge 80+, Safari 16.4+ y Firefox 113+.
Ejemplos de Código
// Compress text to Base64-encoded GZIP
async function compressToBase64(text) {
const stream = new Blob([new TextEncoder().encode(text)])
.stream()
.pipeThrough(new CompressionStream('gzip'));
const buf = await new Response(stream).arrayBuffer();
let binary = '';
new Uint8Array(buf).forEach(b => binary += String.fromCharCode(b));
return btoa(binary);
}
// Decompress Base64-encoded GZIP to text
async function decompressFromBase64(base64) {
const binary = atob(base64);
const bytes = Uint8Array.from(binary, c => c.charCodeAt(0));
const stream = new Blob([bytes])
.stream()
.pipeThrough(new DecompressionStream('gzip'));
return await new Response(stream).text();
}
// Usage
const compressed = await compressToBase64('Hello, World!');
console.log(compressed);
const decompressed = await decompressFromBase64(compressed);
console.log(decompressed); // "Hello, World!"