Por qué existe
Un límite de tamaño es un fallo de diseño que llega como culpa tuya.
Una foto de móvil pesa varios megabytes. El formulario que la rechaza permite cinco y no te dice qué cambiar. Compresso devuelve ese problema al navegador, donde tarda menos de un segundo.
- 0 bytes
Subidos, jamás
Abre la pestaña de red y compruébalo mientras se procesan cien fotos.
- 3,3 MB a 93,5 KB
Una medición real
Los resultados varían según el contenido, así que preferimos un dato real a una media sin medir.
- 3,6 KB
Núcleo, comprimido
Cero dependencias. Solo APIs del navegador.
La app
Todo ocurre en tu dispositivo.
Gratis, instalable y pensada para cuando tienes cuarenta fotos y un formulario que no acepta ninguna.
Privada por construcción
No hay servidor al que enviar tus fotos. No es una política que debas creer, es una arquitectura que puedes verificar.
Funciona sin conexión
Instálala una vez y funciona en un avión. La interfaz, las tipografías y el decodificador HEIC quedan en tu dispositivo.
Cien a la vez
Las imágenes se procesan en paralelo en los núcleos de tu CPU, así que la interfaz sigue fluida con lotes grandes.
Fotos de iPhone incluidas
Lee HEIC, JPEG, PNG, WebP y AVIF. Escribe AVIF, WebP, JPEG y PNG, eligiendo el mejor formato que tu navegador sepa generar.
Siete idiomas
Inglés, español, francés, alemán, italiano, portugués y chino, con tamaños y porcentajes escritos como los escribe cada idioma.

Para desarrolladores
El mismo motor, como dependencia.
Si prefieres que tus usuarios nunca vean un error de subida, el núcleo de compresión se distribuye como una librería que encaja en cualquier framework.
import { compress } from 'compresso.js';
const { file, savings } = await compress(input, {
quality: 0.8,
format: 'auto',
});3,6 KB comprimido
Tan pequeño que adoptarlo no requiere una reunión. Cero dependencias y nada que auditar.
Compresión por lotes en paralelo, fuera del hilo principal
compresso.js/pool ejecuta un pool de Web Workers resiliente — con recuperación ante caídas y tiempos de espera incluida — para que un lote grande se comprima en paralelo sin bloquear tu interfaz.
Nunca devuelve un archivo mayor
La salida con pérdida se limita al menor entre tu límite y el original, porque un compresor que puede agrandar un archivo está roto.
