Codificación

Gzip/Deflate ↔ Base64

Compresión de texto en Gzip o Deflate con codificación Base64 del resultado — y viceversa. Funciona mediante la API Compression Streams directamente en el navegador.

Base64 by itself doesn't compress anything — quite the opposite, it grows the size by about 33%. To send large text compactly through a text-only channel, it's first compressed with Gzip or Deflate, and only then is the result Base64-encoded.

How to use it

Common uses

Things to keep in mind

Compression only pays off on sufficiently large, compressible text — on short strings the Gzip header overhead plus the Base64 expansion can actually make the result bigger.

Deflate skips Gzip's headers, so its output is more compact, but the format is less self-describing: the receiving side needs to know in advance that it's Deflate specifically.

Artículo sobre esta herramienta: Gzip + Base64: comprimir datos para transmitirlos como texto

Preguntas frecuentes

¿En qué se diferencian Gzip y Deflate?

Deflate es el algoritmo de compresión "en crudo", sin cabecera adicional. Gzip envuelve ese mismo algoritmo con una cabecera y un CRC de verificación al final, lo que lo hace un poco más grande pero permite comprobar la integridad de los datos.

¿Por qué falla la decodificación si elijo el formato equivocado?

Porque Gzip y Deflate no son intercambiables: si comprimiste con Gzip pero seleccionas Deflate para decodificar (o al revés), el navegador no reconocerá la cabecera esperada y la operación fallará. Asegúrate de elegir el mismo formato usado al comprimir.

¿Necesito instalar algo para que funcione?

No, esta herramienta usa la API Compression Streams nativa del navegador y todo el proceso ocurre localmente, sin enviar datos a ningún servidor. Eso sí, requiere un navegador moderno que la soporte.

¿Por qué la descompresión a veces da un error "invalid header"?

La causa más habitual es un formato equivocado: los datos se comprimieron como Deflate "en crudo" sin cabecera, pero se descomprimen como Gzip (que espera su propia cabecera y CRC-32), o al revés. Prueba a cambiar el formato en la configuración de la herramienta.

¿La compresión siempre reduce el tamaño final?

No. En cadenas muy cortas, la sobrecarga de las cabeceras de Gzip y el aumento por Base64 pueden superar la ganancia de la compresión: este enfoque solo tiene sentido con datos de texto suficientemente grandes y compresibles.

Artículos: Codificación

Base64: para qué sirve la codificación y cómo funciona

Cómo Base64 convierte datos binarios en texto ASCII y cuándo esto realmente hace falta.

Base32: en qué se diferencia de Base64 y cuándo es más práctico

El alfabeto de Base32, que no distingue mayúsculas, y los casos donde resulta más práctico que Base64.

URL Encode/Decode: el percent-encoding en los enlaces

Cómo los caracteres especiales en direcciones y parámetros se convierten en secuencias %XX.

HTML Entities: cómo mostrar caracteres especiales de forma segura

Por qué hay que escapar los caracteres < > & y cómo esto evita que el marcado se rompa.

JWT: la estructura del token y qué significa "decodificar" un JWT

El header, el payload y la signature de un token JWT, y por qué decodificar no es lo mismo que verificar la firma.

Unicode Escape: qué significan las secuencias \uXXXX

De dónde salen las secuencias tipo \u0041 en JSON y cadenas JS, y qué significan.

ROT13 y el cifrado César: sustitución simple de caracteres

Por qué un desplazamiento de 13 letras hace que ROT13 sea su propio inverso, y por qué se sigue usando hoy.

Punycode: cómo funcionan los dominios internacionalizados en el DNS

Cómo un dominio con caracteres no latinos se convierte en una representación ASCII con el prefijo xn--.

Código Morse: cómo el texto se convierte en puntos y rayas

El principio de codificar letras con puntos y rayas, y dónde se usa el código Morse hoy en día.

Data URI: cuándo incrustar imágenes directamente en el código

Cómo un Data URI incrusta el contenido de un archivo directamente en HTML o CSS, y cuándo vale la pena.

XML Entities: escapar caracteres en documentos XML

Las cinco entidades XML obligatorias sin las cuales el documento se rompe al analizarlo.