APNG: Guía Completa del Formato PNG Animado
El GIF dominó la animación web durante 30 años a pesar de sus limitaciones significativas: solo 256 colores, compresión deficiente, sin transparencia parcial. En 2004, Stuart Parmenter y Vladimir Vukicevic de Mozilla crearon APNG (Animated Portable Network Graphics) como una extensión compatible con versiones anteriores del formato PNG, resolviendo estos problemas manteniendo total compatibilidad con visores PNG.
¿Qué es APNG?
APNG es una extensión del formato PNG que añade soporte de animación. Un archivo APNG:
- Usa la extensión
.apngo.png(la extensión PNG es común por compatibilidad) - Contiene una secuencia de fotogramas PNG con información de temporización
- Muestra el primer fotograma como imagen estática en visores que no soportan APNG (compatible con versiones anteriores)
- Admite color de 24 bits completo (16,7 millones de colores) — sin límite de paleta de 256 colores como GIF
- Admite transparencia alfa completa (píxeles semitransparentes)
APNG vs GIF vs WebP Animado
| Característica | GIF | APNG | WebP Animado |
|---|---|---|---|
| Colores máximos | 256 (paleta 8 bits) | 16,7 millones (24 bits) | 16,7 millones |
| Transparencia alfa | 1 bit (activado/desactivado) | Alfa completo de 8 bits | Alfa completo de 8 bits |
| Compresión sin pérdida | Sí | Sí | Sí |
| Compresión con pérdida | No | No | Sí |
| Compatibilidad con navegadores | Universal | 97%+ | 97%+ |
| Sin patentes | Desde 2004 | Sí | Sí |
Compatibilidad con Navegadores y Plataformas
| Plataforma | Soporte APNG |
|---|---|
| Firefox | Desde la versión 3 (2007) |
| Safari / iOS Safari | Desde la versión 8 (2014) |
| Chrome | Desde la versión 59 (2017) |
| Edge | Desde la versión 18 (2018) |
| WhatsApp, iMessage | ✅ (stickers usan APNG) |
| Discord | ✅ |
| Telegram | ✅ |
APNG es particularmente dominante en el espacio de emoji y stickers:
- Los emoji animados de Apple en iOS/macOS usan APNG
- Los paquetes de stickers de iMessage usan APNG
- Muchos stickers de Discord y Telegram son APNG
Crear Archivos APNG
Con APNGASM (Línea de Comandos)
# Instalar (macOS con Homebrew)
brew install apngasm
# Crear APNG a partir de archivos PNG numerados
apngasm salida.apng fotograma01.png fotograma02.png fotograma03.png -d 100 -l 0
# -d 100: 100ms de retraso por fotograma (10 fps)
# -l 0: bucle infinito
Con GIMP
- Archivo → Exportar como → establece el nombre de archivo como
.apng - En el cuadro de diálogo de exportación, selecciona "Guardar como animación"
- Cada capa de GIMP se convierte en un fotograma de animación
Con FFmpeg
# Dividir vídeo en fotogramas PNG
ffmpeg -i entrada.mp4 -vf fps=10 fotograma%04d.png
# Crear APNG a partir de fotogramas PNG
ffmpeg -framerate 10 -i fotograma%04d.png salida.apng
Convertir APNG a Otros Formatos
APNG → GIF
# Usando ImageMagick
magick entrada.apng salida.gif
Advertencia: la conversión a GIF reduce la profundidad de color a 256 colores.
APNG → WebP (Animado)
# Usando ffmpeg
ffmpeg -i entrada.apng -c:v libwebp -loop 0 -lossless 1 salida.webp
GIF → APNG
# Usando ffmpeg
ffmpeg -i entrada.gif salida.apng
Optimizar el Tamaño de Archivo APNG
- Optimiza los fotogramas individuales con pngquant o pngcrush antes de ensamblarlos
- Usa fotogramas delta: almacena solo los píxeles cambiados entre fotogramas
- Reduce el número de fotogramas: 10 fps suele ser indistinguible de 24 fps para animaciones en bucle
- Considera WebP animado en su lugar: la animación WebP con pérdida puede ser un 60-80% más pequeña que APNG con una pérdida de calidad apenas visible
APNG llena el nicho exacto entre GIF (universal pero baja calidad) y formatos de vídeo (alta calidad pero pesados) — perfecto para emoji, stickers, animaciones de logotipos y animaciones decorativas cortas que necesitan color completo y transparencia alfa sin la sobrecarga de los códecs de vídeo.
Conversiones relacionadas
Lo más habitual al trabajar con imágenes son estas direcciones de conversión: