Interfaz de software (captura)
1600 × 859
Sin pérdida · código abierto · Apache-2.0
BIC guarda los gráficos planos en menos bytes que un PNG optimizado. Las fotografías se conservan como su JPEG original. El decodificador corre en el navegador, y puedes probarlo abajo con archivos reales.
npm install @proteo5/bic-runtime
npm install --save-dev @proteo5/bic-build
Las gráficas, capturas de interfaz, logotipos, iconos y diagramas están hechos de grandes áreas de un solo color. Un PNG ya los comprime, pero BIC guarda cada tramo de píxeles idénticos en pocos bytes y después vuelve a comprimir el resultado. Un archivo más pequeño son menos datos que descargar en cada visita, y en una conexión lenta es la diferencia entre una imagen que aparece de inmediato y una que tarda.
Cada archivo de abajo lo decodifica ahora @proteo5/bic-runtime desde npm, sin servidor de por medio. El resultado se compara con los píxeles originales, byte por byte.
Arrastra un archivo .bic aquí, o elígelo. Se decodifica en tu navegador; no se sube nada.
Esta página decodifica archivos .bic, pero todavía no los codifica, así que exportar se hace desde la línea de comandos. Estos comandos comparan tu archivo igual que la tabla de resultados.
bic inspect foto.png --json # tamaños de PNG, oxipng, WebP y BIC
bic encode foto.png foto.bic # conserva la estrategia más pequeña
bic verify foto.png foto.bic # los píxeles decodificados deben coincidir exactamenteMedido en las imágenes de ejemplo. Tamaños en KiB. Cada fila usó una de dos estrategias: el algoritmo BIC (gráficos planos), o un envoltorio que guarda el JPEG original dentro del .bic con 32 bytes de cabecera (fotografías). "Mejor sin pérdida" es el más pequeño de PNG, oxipng y WebP sin pérdida. Las últimas tres columnas son formatos con pérdida, que cambian los valores de los píxeles. "MB ahorrados por cada 1,000 vistas" multiplica la diferencia por 1,000 transferencias. Los valores negativos significan que BIC es más grande.
| Ejemplo | Píxeles | PNG | oxipng | WebP sin pérdida | Archivo BIC | Mejor sin pérdida | BIC más pequeño por | MB ahorrados / 1,000 vistas | WebP q80 | AVIF q50 | JPEG q85 | Veredicto |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Interfaz de software (captura) | 1600×859 | 204.5 | 114.5 | 130.4 | 136.3 | oxipng: 114.5 | -19% | -22.38 | 50.8 | 29.6 | 111.2 | Mantén el PNG oxipng es más pequeño. Mantenlo. AVIF q50 con pérdida es 78% más pequeño que BIC, si no se necesitan píxeles exactos. |
Diagrama de flujo | 706×905 | 60.5 | 10.0 | 11.8 | 11.1 | oxipng: 10.0 | -12% | -1.20 | 15.6 | 8.3 | 37.2 | Mantén el PNG oxipng es más pequeño. Mantenlo. AVIF q50 con pérdida es 25% más pequeño que BIC, si no se necesitan píxeles exactos. |
Gráfica de barras | 1600×800 | 256.7 | 87.7 | 109.2 | 47.3 | oxipng: 87.7 | +46% | +41.41 | 74.2 | 30.7 | 158.6 | Usa BIC 46% más pequeño que oxipng. AVIF q50 con pérdida es 35% más pequeño que BIC, si no se necesitan píxeles exactos. |
| 512×512 | 25.1 | 7.3 | 14.8 | 7.3 | oxipng: 7.3 | +0% | +0.02 | 6.5 | 6.4 | 19.4 | Usa BIC 0% más pequeño que oxipng. AVIF q50 con pérdida es 13% más pequeño que BIC, si no se necesitan píxeles exactos. | |
| 800×480 | 538.3 | 77.2 | 190.9 | 89.0 | oxipng: 77.2 | -15% | -12.14 | 109.7 | 59.3 | 151.1 | Mantén el PNG oxipng es más pequeño. Mantenlo. AVIF q50 con pérdida es 33% más pequeño que BIC, si no se necesitan píxeles exactos. | |
Fotografía de paisaje | 1600×1064 | 3,550.0 | 2,257.5 | 1,860.5 | 492.5 | WebP lossless: 1,860.5 | n/d | n/d | 270.5 | 139.9 | 436.2 | Mantén el JPEG El JPEG original se guarda tal cual, así que BIC no aporta nada aquí. Los formatos sin pérdida son mucho más grandes para fotografías. |
Fotografía de paisaje | 1600×1067 | 2,957.8 | 1,571.5 | 1,601.7 | 418.8 | oxipng: 1,571.5 | n/d | n/d | 236.3 | 110.3 | 365.2 | Mantén el JPEG El JPEG original se guarda tal cual, así que BIC no aporta nada aquí. Los formatos sin pérdida son mucho más grandes para fotografías. |
Las mediciones deciden los casos. Los gráficos planos con pocos colores son donde BIC ocupa menos que un PNG optimizado. Lo demás de la tabla no.
El paso de build convierte una imagen solo cuando BIC es al menos 10% más pequeño que el mejor formato sin pérdida, y nunca para JPEG ni para imágenes con más de 4096 colores.
El decodificador funciona donde corre JavaScript. El paso de build convierte tus imágenes y las sirve con un Service Worker, bajo sus URL originales, así que tu HTML y tu CSS no cambian.
La herramienta de línea de comandos y el visor para Windows, Linux y macOS, del release v0.2.1. El paso de build instala el binario correcto por sí solo.
Cada ejemplo se republica bajo su licencia, desde Wikimedia Commons. Las imágenes de más de 1600 px se redujeron, como se indica.