Compresión Sin Pérdida: Definición, Algoritmos, Web Use

Compresión sin pérdida reduce archivos sin perder datos — original se reconstruye exactamente. Algoritmos: gzip, Brotli, Zstd, LZ4, xz.

¿Qué es compresión sin pérdida?

Compresión sin pérdida (lossless) es la práctica de reducir tamaño de archivo preservando cada bit de los datos originales — la descompresión reconstruye el archivo exactamente. El opuesto es compresión con pérdida (lossy, usada para imágenes, audio, video), que descarta datos permanentemente.

Lossless es el estándar para datos donde la accuracy bit-perfecta importa: texto, código fuente, ejecutables, bases de datos, archives y respuestas HTTP.

Cómo funciona compresión lossless

  • Dictionary coding (LZ77/LZ78): reemplazar strings repetidos con referencias.
  • Entropy coding (Huffman, arithmetic): asignar códigos bit más cortos a símbolos más frecuentes.

Algoritmos compresión lossless comunes

AlgoritmoVelocidadRatio compresiónMejor para
gzip / DEFLATERápidoModeradoHTTP, tar.gz, zip
BrotliMedioMejor que gzip (~20%)Respuestas HTTP
Zstandard (Zstd)Muy rápidoMejor que gzipReal-time, log archives
LZ4Más rápidoRatio menorStreams real-time
xz / LZMALentoMejor ratioSource archives
bzip2LentoMejor que gzipArchives legacy
SnappyMuy rápidoRatio menorBigTable, RPC

Lossless vs lossy compression

AspectoLosslessLossy
ReconstrucciónBit-perfectaAproximada
Casos usoTexto, código, datosImágenes, audio, video
Ejemplosgzip, Brotli, PNG, FLACJPEG, MP3, H.264
Ratio compresión2-10×10-100×
¿Reversible?No

Compresión lossless en la web

GET / HTTP/1.1
Accept-Encoding: br, gzip, deflate

HTTP/1.1 200 OK
Content-Encoding: br
Content-Type: text/html
EncodingSoporte navegadorRatio compresión (HTML/JS)
gzipUniversal~70% reducción
Brotli~96% navegadores~75% reducción
ZstdChrome 122+, creciendoSimilar a Brotli, más rápido

Cuándo usar qué compressor

Respuestas HTTP

Brotli para estático. Nivel 11 para estático; nivel 4-6 para dinámico.

Streaming real-time

LZ4 o Snappy.

Archives long-term

xz/LZMA o Zstd a nivel alto.

Logs in motion

Zstd con dictionary compartido.

Mejores prácticas compresión lossless

  • Comprimir at build time cuando posible.
  • Usar Brotli sobre gzip.
  • No doble-comprimir.
  • Elegir nivel para caso uso.
  • Dictionaries compartidos para payloads similares.
  • Medir ratio y CPU.
  • Comprimir antes de encriptar.
  • Cachear respuestas comprimidas.

Compresión en formatos populares

FormatoCompresión¿Lossless?
PNGDEFLATE
WebPVP8/VP9Ambos modos
FLACCustomSí (audio)
ZIPDEFLATE
tar.gzgzip
ParquetSnappy/gzip/Zstd

FAQ: compresión lossless

¿Cuál es el mejor compressor lossless?

Depende del tradeoff. Mejor ratio: xz/LZMA. Mejor balance: Zstd.

¿Por qué mi archivo no se hace más pequeño tras comprimir?

Datos ya comprimidos no tienen redundancia explotable.

¿Debería comprimir JSON?

Sí — JSON tiene alta redundancia.

¿Qué sobre imágenes: PNG vs JPEG?

PNG es lossless. JPEG es lossy.

¿Es Brotli mejor que gzip?

Sí — típicamente 15-25% payloads más pequeños.

¿Puede compresión ayudar performance website?

Sí — HTML/CSS/JS comprimido reduce tiempo transferencia.

¿Relación entre compresión y encriptación?

Comprimir primero, luego encriptar.

Testea performance payloads comprimidos con LoadFocus

LoadFocus corre scripts JMeter y k6 que miden tamaños response y TTFB desde 25+ regiones. Regístrate en loadfocus.com/signup.

¿Qué tan rápido es tu sitio web?

Mejora su velocidad y SEO sin problemas con nuestra Prueba de Velocidad gratuita.

Prueba de velocidad de sitio web gratis

Analice la velocidad de carga de su sitio web y mejore su rendimiento con nuestro comprobador de velocidad de página gratuito.

×